You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Seahorse::Client::ConfigurationConfiguration is used to define possible configuration options and then build read-only structures with user-supplied data.
Adding Configuration OptionsAdd configuration options with optional default values. These are used when building configuration objects.
configuration = Configuration.new
configuration.add_option(:max_retries, 3)
configuration.add_option(:use_ssl, true)
cfg = configuration.build!
Building Configuration Objects
Calling #build! on a Configuration object causes it to return a read-only (frozen) struct. Options passed to #build! are merged on top of any default options.
configuration = Configuration.new
configuration.add_option(:color, 'red')
cfg1 = configuration.build!
cfg1.color
cfg2 = configuration.build!(color: 'blue')
cfg2.color
Accepted Options
If you try to #build! a Configuration object with an unknown option, an ArgumentError
is raised.
configuration = Configuration.new
configuration.add_option(:color)
configuration.add_option(:size)
configuration.add_option(:category)
configuration.build!(price: 100)
Attribute Summary collapse
Adds a getter method that returns the named option or a default value.
Constructs and returns a configuration structure.
Adds a getter method that returns the named option or a default value. Default values can be passed as a static positional argument or via a block.
# defaults to nil configuration.add_option(:name)
# with a string default configuration.add_option(:name, 'John Doe')
# with a dynamic default value, evaluated once when calling #build! configuration.add_option(:name, 'John Doe') configuration.add_option(:username) do |config| config.name.gsub(/\W+/, '').downcase end cfg = configuration.build! cfg.name #=> 'John Doe' cfg.username #=> 'johndoe'
106 107 108 109 110
# File 'aws-sdk-core/lib/seahorse/client/configuration.rb', line 106 def add_option(name, default = nil, &block) default = DynamicDefault.new(block) if block_given? @defaults[name.to_sym] << default self end#build!(options = {}) ⇒ Struct
Constructs and returns a configuration structure. Values not present in options
will default to those supplied via add option.
configuration = Configuration.new
configuration.add_option(:enabled, true)
cfg1 = configuration.build!
cfg1.enabled
cfg2 = configuration.build!(enabled: false)
cfg2.enabled
If you pass in options to #build!
that have not been defined, then an ArgumentError
will be raised.
configuration = Configuration.new
configuration.add_option(:enabled, true)
cfg = configuration.build!(enabld: true)
The object returned is a frozen Struct
.
configuration = Configuration.new
configuration.add_option(:enabled, true)
cfg = configuration.build!
cfg.enabled cfg[:enabled] cfg['enabled']
147 148 149 150 151 152
# File 'aws-sdk-core/lib/seahorse/client/configuration.rb', line 147 def build!(options = {}) struct = empty_struct apply_options(struct, options) apply_defaults(struct, options) struct end
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4