Class: Spider::DataTypes::Decimal
- Inherits:
-
BigDecimal
- Object
- BigDecimal
- Spider::DataTypes::Decimal
show all
- Includes:
- Spider::DataType
- Defined in:
- lib/spiderfw/model/datatypes/decimal.rb
Overview
A wrapper around BigDecimal. Takes the :scale attribute.
Class Method Summary
collapse
Instance Method Summary
collapse
#format, included, #map, #new
Class Method Details
.from_value(value) ⇒ Object
15
16
17
18
|
# File 'lib/spiderfw/model/datatypes/decimal.rb', line 15
def self.from_value(value)
return nil if value.nil?
super(value.to_s)
end
|
Instance Method Details
29
30
31
|
# File 'lib/spiderfw/model/datatypes/decimal.rb', line 29
def as_json
to_f
end
|
#attributes ⇒ Object
37
38
39
|
# File 'lib/spiderfw/model/datatypes/decimal.rb', line 37
def attributes
{:scale => 2}.merge(super)
end
|
20
21
22
|
# File 'lib/spiderfw/model/datatypes/decimal.rb', line 20
def prepare
self.class.from_value(self.round(attributes[:scale] || 2))
end
|
#to_json(options = nil) ⇒ Object
33
34
35
|
# File 'lib/spiderfw/model/datatypes/decimal.rb', line 33
def to_json(options=nil)
to_f.to_json
end
|
#to_s(s = nil) ⇒ Object
24
25
26
27
|
# File 'lib/spiderfw/model/datatypes/decimal.rb', line 24
def to_s(s=nil)
s ||= "#{attributes[:scale]}F"
super(s)
end
|