Module: Cashbox::Type
- Defined in:
- lib/cashbox/type.rb
Class Method Summary collapse
Class Method Details
.Boolean ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/cashbox/type.rb', line 15 def self.Boolean @boolean ||= -> (value) do case value when String !!(value =~ /\A(true|t|yes|y|1)\z/i) when Numeric !value.to_i.zero? else value == true end end end |
.DateTime ⇒ Object
11 12 13 |
# File 'lib/cashbox/type.rb', line 11 def self.DateTime @date_time ||= -> (value) { value.is_a?(DateTime) ? value : DateTime.parse(value) } end |
.List(type) ⇒ Object
2 3 4 5 6 7 8 9 |
# File 'lib/cashbox/type.rb', line 2 def self.List(type) @list ||= {} @list[type] ||= -> (data) do data = data.is_a?(Hash) ? data['data'] : data data.map { |value| type.new(value) } end @list[type] end |