Method: Thron::Entity::Base#initialize
- Defined in:
- lib/thron/entity/base.rb
#initialize(hash = {}) ⇒ Base
Returns a new instance of Base.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/thron/entity/base.rb', line 21 def initialize(hash = {}) @table = {} hash.each do |k,v| k = k.to_s.snakecase.to_sym @table[k] = case v when Hash self.class.new(v) when Array if v.first.is_a?(Hash) v.map { |e| self.class.new(e) } else v end when TIME_REGEX Time::parse(v) when DATE_REGEX Date::parse(v) else v end new_ostruct_member(k) end end |