Class: RailsSimpleParams::Coercion
- Inherits:
-
Object
- Object
- RailsSimpleParams::Coercion
- Defined in:
- lib/rails_simple_params/coercion.rb,
lib/rails_simple_params/coercion/base.rb,
lib/rails_simple_params/coercion/hash_param.rb,
lib/rails_simple_params/coercion/time_param.rb,
lib/rails_simple_params/coercion/array_param.rb,
lib/rails_simple_params/coercion/float_param.rb,
lib/rails_simple_params/coercion/string_param.rb,
lib/rails_simple_params/coercion/boolean_param.rb,
lib/rails_simple_params/coercion/integer_param.rb,
lib/rails_simple_params/coercion/big_decimal_param.rb
Defined Under Namespace
Classes: ArrayParam, Base, BigDecimalParam, BooleanParam, FloatParam, HashParam, IntegerParam, StringParam, TimeParam
Constant Summary collapse
- PARAM_TYPE_MAPPING =
{ Integer => IntegerParam, Float => FloatParam, String => StringParam, Array => ArrayParam, Hash => HashParam, BigDecimal => BigDecimalParam, Date => TimeParam, DateTime => TimeParam, Time => TimeParam, TrueClass => BooleanParam, FalseClass => BooleanParam, boolean: BooleanParam }.freeze
Instance Attribute Summary collapse
-
#coercion ⇒ Object
readonly
Returns the value of attribute coercion.
-
#param ⇒ Object
readonly
Returns the value of attribute param.
Instance Method Summary collapse
- #coerce ⇒ Object
-
#initialize(param, type, options) ⇒ Coercion
constructor
A new instance of Coercion.
Constructor Details
#initialize(param, type, options) ⇒ Coercion
Returns a new instance of Coercion.
22 23 24 25 |
# File 'lib/rails_simple_params/coercion.rb', line 22 def initialize(param, type, ) @param = param @coercion = klass_for(type).new(param: param, options: , type: type) end |
Instance Attribute Details
#coercion ⇒ Object (readonly)
Returns the value of attribute coercion.
20 21 22 |
# File 'lib/rails_simple_params/coercion.rb', line 20 def coercion @coercion end |
#param ⇒ Object (readonly)
Returns the value of attribute param.
20 21 22 |
# File 'lib/rails_simple_params/coercion.rb', line 20 def param @param end |
Instance Method Details
#coerce ⇒ Object
27 28 29 30 31 |
# File 'lib/rails_simple_params/coercion.rb', line 27 def coerce return nil if param.nil? coercion.coerce end |