def load(manifest_filename, opts = {})
      opts = self.class.module_options.deep_merge(opts)
      manifest_filename = Pathname.new(manifest_filename).expand_path
      load_manifest(manifest_filename, opts)
      load_params(opts)
      if opts[:raise_on_missing_params] && !missing_params.empty?
        raise "Missing required configurable parameters: #{missing_params.join(', ')}"
      end
      self
    end
def load(manifest_filename, opts = {})
      opts = self.class.module_options.deep_merge(opts)
      manifest_filename = Pathname.new(manifest_filename).expand_path
      load_manifest(manifest_filename, opts)
      load_params(opts)
      if opts[:raise_on_missing_params] && !missing_params.empty?
        raise "Missing required configurable parameters: #{missing_params.join(', ')}"
      end
      self
    end
Creates a Config object.

 Loads and parses manifest.yml, reads and sets configurable parameters
 from ENV.

 Raises an error if any of the required configurable parameters are missing.

 @param manifest_filename [String,nil] path to the manifest.yml or nil to skip loading manifest

 Loads and parses manifest.yml, reads and sets configurable parameters
 from ENV.