4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/firering/instantiator.rb', line 4
def instantiate(conn, data, base_key = nil, &callback)
instance = new
instance.connection = conn
attributes = data.is_a?(Hash) ? data : Yajl::Parser.parse(data, :symbolize_keys => true)
attributes = attributes[base_key] if base_key
attributes ||= Hash.new
attributes.each do |key, val|
value = ( key.to_s =~ /(_at|_on)$/ ) ? (Time.parse(val) rescue val) : val
instance.send("#{key}=", value)
end
callback.call(instance) if callback
instance
end
|