class Protip::Transformers::BigDecimalTransformer
Public Class Methods
new()
click to toggle source
Calls superclass method
# 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(message, field) Rational(message.numerator, message.denominator).to_d(message.precision) end def to_message(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
Public Instance Methods
to_message(object, field)
click to toggle source
# File lib/protip/transformers/big_decimal_transformer.rb, line 18 def to_message(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
to_object(message, field)
click to toggle source
# File lib/protip/transformers/big_decimal_transformer.rb, line 14 def to_object(message, field) Rational(message.numerator, message.denominator).to_d(message.precision) end