Sha256: d0485b59e59dde056fe9c2abf9df12cd763a7dcda55d7f81912645e5171ccfcf

Contents?: true

Size: 532 Bytes

Versions: 2

Compression:

Stored size: 532 Bytes

Contents

class WorkingCalendar
  class SingleDate

    include CastHelper

    attr_reader :date, :hours_ranges
    
    def initialize(date, hours_ranges)
      @date = cast_date date
      @hours_ranges = cast_hours_ranges hours_ranges
    end

    def include?(time)
      hms = Timing::HourMinutesSeconds.new time.hour, time.min, time.sec
      date == time.to_date && hours_ranges.any? { |from, to| hms.between? from, to }
    end

    def to_s
      "#{date.iso8601} #{hours_ranges}"
    end
    alias_method :inspect, :to_s

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
working_calendar-0.1.1 lib/working_calendar/single_date.rb
working_calendar-0.1.0 lib/working_calendar/single_date.rb