blob: 5ba4e8e768a7d96e8f9862394b75a4b0de23e630 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
class QuantityType < ActiveRecord::Type::Float
def cast(value)
return nil if value.nil?
if value.is_a? Quantity
value.to(:lbs)
elsif value.is_a? Hash
Quantity.new(value[:amount].to_f, value[:unit].to_sym)
else
Quantity.new(value.to_f, :lbs)
end
end
def serialize(value)
if value.is_a? Quantity
super(value.to(:lbs).to_f)
else
super(value)
end
end
end
|