Module: RulerCoaster::Term

Defined in:
lib/ruler_coaster/term/base.rb,
lib/ruler_coaster/term/array.rb,
lib/ruler_coaster/term/number.rb,
lib/ruler_coaster/term/string.rb,
lib/ruler_coaster/term/decimal.rb

Defined Under Namespace

Classes: Array, ArrayDecimal, ArrayNumber, Base, Decimal, Number, String

Class Method Summary collapse

Class Method Details

.call(value, value_type = nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/ruler_coaster/term/base.rb', line 3

def self.call(value, value_type = nil)
  mapping = {
    'string' => Term::String,
    'number' => Term::Number,
    'decimal' => Term::Decimal,
    'array' => Term::Array,
    'array[string]' => Term::Array,
    'array[number]' => Term::ArrayNumber,
    'array[decimal]' => Term::ArrayDecimal
  }

  (mapping[value_type] || Term::String).new(value)
end