Class: Protip::Transformers::BigDecimalTransformer
- Inherits:
-
DelegatingTransformer
- Object
- DelegatingTransformer
- Protip::Transformers::BigDecimalTransformer
- Defined in:
- lib/protip/transformers/big_decimal_transformer.rb
Instance Method Summary collapse
-
#initialize ⇒ BigDecimalTransformer
constructor
A new instance of BigDecimalTransformer.
Methods inherited from DelegatingTransformer
#merge!, #to_message, #to_object
Methods included from Protip::Transformer
Constructor Details
#initialize ⇒ BigDecimalTransformer
Returns a new instance of BigDecimalTransformer.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/protip/transformers/big_decimal_transformer.rb', line 10 def initialize super self['protip.messages.BigDecimalValue'] = (Class.new do include Protip::Transformer def to_object(, field) Rational(.numerator, .denominator).to_d(.precision) end def (object, field) object = BigDecimal(object) rational = object.to_r field.subtype.msgclass.new( numerator: rational.numerator, denominator: rational.denominator, precision: object.precs[0], # This is the current precision of the decimal ) end end).new end |