Class: ParamsReady::Value::GenericCoder

Inherits:
Object
  • Object
show all
Extended by:
Extensions::Finalizer, Extensions::LateInit
Includes:
Extensions::Finalizer::InstanceMethods
Defined in:
lib/params_ready/value/coder.rb

Instance Method Summary collapse

Methods included from Extensions::LateInit

late_init

Methods included from Extensions::Finalizer

obligatory, obligatory!

Constructor Details

#initialize(name) ⇒ GenericCoder

Returns a new instance of GenericCoder.



36
37
38
39
40
41
# File 'lib/params_ready/value/coder.rb', line 36

def initialize(name)
  @name = name
  @coerce = nil
  @format = nil
  @type_identifier = nil
end

Instance Method Details

#finishObject



63
64
65
66
# File 'lib/params_ready/value/coder.rb', line 63

def finish
  super
  freeze
end

#format(value, format) ⇒ Object



59
60
61
# File 'lib/params_ready/value/coder.rb', line 59

def format(value, format)
  @format[value, format]
end

#strict_default?Boolean

Returns:

  • (Boolean)


43
# File 'lib/params_ready/value/coder.rb', line 43

def strict_default?; true; end

#try_coerce(input, context) ⇒ Object



53
54
55
56
57
# File 'lib/params_ready/value/coder.rb', line 53

def try_coerce(input, context)
  @coerce[input, context]
rescue => _error
  raise CoercionError.new(input, @name)
end

#value_class_nameObject



49
50
51
# File 'lib/params_ready/value/coder.rb', line 49

def value_class_name
  @name
end