Sha256: 4d4d0088a097ac3303ab67203186c566486ea5cf258850c9d781b0aca96bd92c
Contents?: true
Size: 678 Bytes
Versions: 2
Compression:
Stored size: 678 Bytes
Contents
module TimeInterval class TimePair def self.parse(iso8601) halves = iso8601.split('/') fail ArgumentError unless halves.length == 2 start_time, end_time = halves.map { |time| Time.parse time } new start_time, end_time end attr_reader :start_time attr_reader :end_time def initialize(start_time, end_time) @start_time = start_time @end_time = end_time end def ==(other) return false unless other.is_a? TimePair start_time == other.start_time && end_time == other.end_time end alias_method :eql?, :== def iso8601 "#{start_time.iso8601}/#{end_time.iso8601}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
time-interval-0.0.5 | lib/time_interval/time_pair.rb |
time-interval-0.0.4 | lib/time_interval/time_pair.rb |