Module: Archipelago::ParamsDSL::ClassMethods
- Defined in:
- lib/archipelago/params_dsl.rb
Instance Method Summary collapse
- #param(name, type, required: false, default: MISSING, strip: false, downcase: false, upcase: false, in: nil, format: nil, min: nil, max: nil, empty_as_nil: false, of: nil, validate: nil) ⇒ Object
- #param_definitions ⇒ Object
Instance Method Details
#param(name, type, required: false, default: MISSING, strip: false, downcase: false, upcase: false, in: nil, format: nil, min: nil, max: nil, empty_as_nil: false, of: nil, validate: nil) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/archipelago/params_dsl.rb', line 33 def param(name, type, required: false, default: MISSING, strip: false, downcase: false, upcase: false, in: nil, format: nil, min: nil, max: nil, empty_as_nil: false, of: nil, validate: nil) symbol_name = name.to_sym param_definitions[symbol_name] = ParamDefinition.new( name: symbol_name, type: type, required: required, default: default, strip: strip, downcase: downcase, upcase: upcase, in: binding.local_variable_get(:in), format: format, min: min, max: max, empty_as_nil: empty_as_nil, of: of, validate: validate ) define_method(symbol_name) do @coerced_params[symbol_name] end end |
#param_definitions ⇒ Object
29 30 31 |
# File 'lib/archipelago/params_dsl.rb', line 29 def param_definitions @param_definitions ||= {} end |