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



39
40
41
42
43
44
# File 'lib/params_ready/value/coder.rb', line 39

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

Instance Method Details

#finishObject



66
67
68
69
# File 'lib/params_ready/value/coder.rb', line 66

def finish
  super
  freeze
end

#format(value, format) ⇒ Object



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

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

#strict_default?Boolean



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

def strict_default?; true; end

#try_coerce(input, context) ⇒ Object



56
57
58
59
60
# File 'lib/params_ready/value/coder.rb', line 56

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

#value_class_nameObject



52
53
54
# File 'lib/params_ready/value/coder.rb', line 52

def value_class_name
  @name
end