class ParsableHash::Strategy::ConverterLoader
Attributes
klass[RW]
Public Class Methods
from_class(klass)
click to toggle source
# File lib/parsable_hash/strategy/converter_loader.rb, line 16 def self.from_class(klass) new(nil, :converter => klass) end
from_name(name)
click to toggle source
# File lib/parsable_hash/strategy/converter_loader.rb, line 12 def self.from_name(name) new(name) end
from_value(value)
click to toggle source
# File lib/parsable_hash/strategy/converter_loader.rb, line 4 def self.from_value(value) if value.is_a? Class from_class(value) else from_name(value) end end
new(name, options = {})
click to toggle source
# File lib/parsable_hash/strategy/converter_loader.rb, line 22 def initialize(name, options = {}) @name = name.to_s self.klass = options.fetch(:converter) { load_from_name } end
Public Instance Methods
call(val)
click to toggle source
# File lib/parsable_hash/strategy/converter_loader.rb, line 27 def call(val) klass.new(val).call end
Private Instance Methods
camelize(name)
click to toggle source
# File lib/parsable_hash/strategy/converter_loader.rb, line 43 def camelize(name) name.split('_').map(&:capitalize).join end
load_from_name()
click to toggle source
# File lib/parsable_hash/strategy/converter_loader.rb, line 33 def load_from_name klass = camelize(@name) if ParsableHash::Converters.const_defined?(klass) ParsableHash::Converters.const_get(klass) else ParsableHash::Converters::Null end end