Class: Protip::Transformers::TimestampTransformer
- Inherits:
 - 
      DelegatingTransformer
      
        
- Object
 - DelegatingTransformer
 - Protip::Transformers::TimestampTransformer
 
 
- Defined in:
 - lib/protip/transformers/timestamp_transformer.rb
 
Instance Method Summary collapse
- 
  
    
      #initialize  ⇒ TimestampTransformer 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of TimestampTransformer.
 
Methods inherited from DelegatingTransformer
#merge!, #to_message, #to_object
Methods included from Protip::Transformer
Constructor Details
#initialize ⇒ TimestampTransformer
Returns a new instance of TimestampTransformer.
      7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  | 
    
      # File 'lib/protip/transformers/timestamp_transformer.rb', line 7 def initialize super # TODO: single-message transformers are awkward to define transformer = Class.new do include Protip::Transformer def to_object(, field) # Using a Rational prevents rounding errors, see # http://stackoverflow.com/questions/16326008/accuracy-of-nanosecond-component-in-ruby-time ::Time.at(.seconds, Rational(.nanos, 1000)) end def (object, field) object = object.to_time # No-op for ::Time objects field.subtype.msgclass.new( seconds: object.to_i, nanos: object.nsec, ) end end.new self['google.protobuf.Timestamp'] = transformer end  |