module Train::Options::InstanceOptions
Attributes
options[R]
@return [Hash] options, which created this Transport
Public Instance Methods
default_options()
click to toggle source
# File lib/train/options.rb, line 51 def default_options self.class.default_options end
merge_options(base, opts)
click to toggle source
# File lib/train/options.rb, line 55 def merge_options(base, opts) res = base.merge(opts || {}) default_options.each do |field, hm| next unless res[field].nil? and hm.key?(:default) default = hm[:default] if default.is_a? Proc res[field] = default.call(res) else res[field] = default end end res end
validate_options(opts)
click to toggle source
# File lib/train/options.rb, line 69 def validate_options(opts) default_options.each do |field, hm| if opts[field].nil? and hm[:required] fail Train::ClientError, "You must provide a value for #{field.to_s.inspect}." end end opts end