Module: Protip::Transformers::ActiveSupport::TimeWithZoneTransformer
- Includes:
- Protip::Transformer
- Defined in:
- lib/protip/transformers/active_support/time_with_zone_transformer.rb
Instance Method Summary collapse
- #to_message(value, message_class) ⇒ Object
- #to_object(message) ⇒ Object
- #transformable?(message_class) ⇒ Boolean
Instance Method Details
#to_message(value, message_class) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/protip/transformers/active_support/time_with_zone_transformer.rb', line 21 def (value, ) if !value.is_a?(::ActiveSupport::TimeWithZone) && (value.is_a?(Time) || value.is_a?(DateTime)) value = ::ActiveSupport::TimeWithZone.new(value.to_time.utc, ::ActiveSupport::TimeZone.new('UTC')) end raise ArgumentError.new("Expected ActiveSupport::TimeWithZone, received #{value.class.name}") unless value.is_a?(::ActiveSupport::TimeWithZone) .new( utc_timestamp: value.to_i, time_zone_name: value.time_zone.name, ) end |
#to_object(message) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/protip/transformers/active_support/time_with_zone_transformer.rb', line 14 def to_object() ActiveSupport::TimeWithZone.new( Time.at(.).utc, ActiveSupport::TimeZone.new(.time_zone_name) ) end |
#transformable?(message_class) ⇒ Boolean
10 11 12 |
# File 'lib/protip/transformers/active_support/time_with_zone_transformer.rb', line 10 def transformable?() == ::Protip::Messages::ActiveSupport::TimeWithZone end |