Module: Decanter

Defined in:
lib/decanter.rb,
lib/decanter/base.rb,
lib/decanter/core.rb,
lib/decanter/version.rb,
lib/decanter/extensions.rb,
lib/decanter/value_parser.rb,
lib/decanter/value_parser/base.rb,
lib/decanter/value_parser/core.rb,
lib/decanter/value_parser/date_parser.rb,
lib/decanter/value_parser/join_parser.rb,
lib/decanter/value_parser/float_parser.rb,
lib/decanter/value_parser/phone_parser.rb,
lib/decanter/value_parser/string_parser.rb,
lib/decanter/value_parser/boolean_parser.rb,
lib/decanter/value_parser/integer_parser.rb,
lib/decanter/value_parser/datetime_parser.rb,
lib/decanter/value_parser/key_value_splitter_parser.rb

Defined Under Namespace

Modules: Core, Extensions, ValueParser Classes: Base, Railtie

Constant Summary collapse

VERSION =
'0.5.5'
@@decanters =
{}

Class Method Summary collapse

Class Method Details

.decanter_for(klass_or_sym) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/decanter.rb', line 9

def self.decanter_for(klass_or_sym)
  name = klass_or_sym.is_a?(Class) ?
          klass_or_sym.name :
          klass_or_sym.to_s.singularize.camelize
  full_name = name.include?('Decanter') ? name : "#{name}Decanter"
  @@decanters[full_name] || (raise NameError.new("unknown decanter #{name}Decanter"))
end

.register(decanter) ⇒ Object



5
6
7
# File 'lib/decanter.rb', line 5

def self.register(decanter)
  @@decanters[decanter.name.demodulize] = decanter
end