Sha256: 50eb741f33dbad647864ca3ef207b85ba308b0cdb552e030bdf47e7ec1e1f95b
Contents?: true
Size: 648 Bytes
Versions: 4
Compression:
Stored size: 648 Bytes
Contents
module Relax class Instance # :nodoc: def initialize(options, *args) @options = options @values = args.inject({}) do |values, arg| arg.is_a?(Hash) ? values.merge(arg) : values end end def values(context) context.parameters.inject({}) do |values, parameter| name = parameter.options[:as] || parameter.name if (value = @values[name] || parameter.value) || @options[:include_blank_values] values[parameter.name] = value elsif parameter.required? raise ArgumentError.new("Missing value for '#{name}'.") end values end end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
tylerhunt-relax-0.1.2 | lib/relax/instance.rb |
tylerhunt-relax-0.1.3 | lib/relax/instance.rb |
relax-0.1.3 | lib/relax/instance.rb |
relax-0.1.2 | lib/relax/instance.rb |