Class: EvilEvents::Shared::TypeConverter::Converter
- Inherits:
-
Object
- Object
- EvilEvents::Shared::TypeConverter::Converter
- Defined in:
- lib/evil_events/shared/type_converter/converter.rb
Overview
Instance Attribute Summary collapse
- #coercer ⇒ Proc readonly
Instance Method Summary collapse
- #convert(value) ⇒ Mixed
-
#initialize(coercer) ⇒ Converter
constructor
A new instance of Converter.
- #transform_to_type(**options) ⇒ EvilEvents::Shared::Types::Any
Constructor Details
#initialize(coercer) ⇒ Converter
Returns a new instance of Converter.
17 18 19 20 21 |
# File 'lib/evil_events/shared/type_converter/converter.rb', line 17 def initialize(coercer) raise ArgumentError unless coercer.is_a?(Proc) @coercer = coercer end |
Instance Attribute Details
#coercer ⇒ Proc (readonly)
11 12 13 |
# File 'lib/evil_events/shared/type_converter/converter.rb', line 11 def coercer @coercer end |
Instance Method Details
#convert(value) ⇒ Mixed
28 29 30 |
# File 'lib/evil_events/shared/type_converter/converter.rb', line 28 def convert(value) coercer.call(value) end |
#transform_to_type(**options) ⇒ EvilEvents::Shared::Types::Any
38 39 40 41 42 43 |
# File 'lib/evil_events/shared/type_converter/converter.rb', line 38 def transform_to_type(**) TypeBuilder.new.tap do |builder| builder.append(:constructor, coercer) builder.append(:default, [:default]) if .key?(:default) end.result end |