Sha256: 05d1fed4c82397712d1a2c50ef3bded7236aacab6c3a3e333a56bcb9a132ffc5

Contents?: true

Size: 579 Bytes

Versions: 5

Compression:

Stored size: 579 Bytes

Contents

require "date"
require "time"
module StandardProcedure
  module Signal
    class Attribute
      class Time < Attribute
        def set(new_value)
          new_value = case new_value
          when nil then nil
          when ::Time then new_value
          when ::Date then new_value.to_time
          when String then ::Time.new(new_value)
          else raise "#{new_value} not recognised"
          end
          super new_value
        rescue => e
          raise FormatError, "Cannot convert #{new_value} into a time: #{e.message}"
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
standard-procedure-signal-0.3.0 lib/standard_procedure/signal/attribute/time.rb
standard-procedure-signal-0.2.1 lib/standard_procedure/signal/attribute/time.rb
standard-procedure-signal-0.2.0 lib/standard_procedure/signal/attribute/time.rb
standard-procedure-signal-0.1.2.1 lib/standard_procedure/signal/attribute/time.rb
standard-procedure-signal-0.1.2 lib/standard_procedure/signal/attribute/time.rb