Sha256: 0f72112c26033fbf5a109b1667a56605ed4541ea2fc1b8e860409f6ddffdd32a
Contents?: true
Size: 856 Bytes
Versions: 42
Compression:
Stored size: 856 Bytes
Contents
require "bigdecimal" module Spider; module DataTypes # A wrapper around BigDecimal. # Takes the :scale attribute. class Decimal < BigDecimal include DataType #maps_back_to superclass take_attributes :scale def self.from_value(value) return nil if value.nil? super(value.to_s) end def prepare self.class.from_value(self.round(attributes[:scale] || 2)) end def to_s(s=nil) s ||= "#{attributes[:scale]}F" super(s) end def as_json to_f end def to_json(options=nil) to_f.to_json end def attributes {:scale => 2}.merge(super) end end end; end
Version data entries
42 entries across 42 versions & 1 rubygems