Module: Archipelago::ParamsDSL::ClassMethods

Defined in:
lib/archipelago/params_dsl.rb

Instance Method Summary collapse

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_definitionsObject



29
30
31
# File 'lib/archipelago/params_dsl.rb', line 29

def param_definitions
  @param_definitions ||= {}
end