module Syobocal::DB::Mapper
Public Instance Methods
map(elm)
click to toggle source
# File lib/syobocal/db.rb, line 4 def map(elm) result = {} elm.each_element { |child| set(result, to_snake(child.name).to_sym, child, @map[child.name]) } result end
set(hash, key, elm, type)
click to toggle source
# File lib/syobocal/db.rb, line 16 def set(hash, key, elm, type) if elm val = nil if elm.text case type when :str val = elm.text when :int val = elm.text.to_i when :time val = Time.parse(elm.text) else raise "Undefined mapping for #{key}" if $SYOBOCAL_STRICT val = elm.text end end hash[key] = val end end
to_snake(name)
click to toggle source
# File lib/syobocal/db.rb, line 12 def to_snake(name) name.gsub(/([a-z])([A-Z])/) { $1 + "_" + $2 }.downcase end