module RailFeeds::NetworkRail::Schedule::Days

A collection of methods for working with a days array. Provides a days attribute to the class.

Public Class Methods

included(base) click to toggle source
# File lib/rail_feeds/network_rail/schedule/days.rb, line 9
def self.included(base)
  base.extend ClassMethods
end

Public Instance Methods

days() click to toggle source

@return [Array<Boolean, nil>] What days the record applies to (Monday -> Sunday).

# File lib/rail_feeds/network_rail/schedule/days.rb, line 15
def days
  @days ||= Array.new(7, nil)
end
days=(value) click to toggle source

@param [Array<Boolean, nil>, to_s] value What days the record applies to. (Monday -> Sunday).

# File lib/rail_feeds/network_rail/schedule/days.rb, line 21
def days=(value)
  value = days_from_cif(value) unless value.is_a?(Array)
  (0..6).each do |i|
    days[i] = value[i]&.&(true)
  end
  days
end
fridays?() click to toggle source

Query if the record applies on Fridays @return [Boolean, nil]

# File lib/rail_feeds/network_rail/schedule/days.rb, line 55
def fridays?
  days[4]
end
mondays?() click to toggle source

Query if the record applies on Mondays @return [Boolean, nil]

# File lib/rail_feeds/network_rail/schedule/days.rb, line 31
def mondays?
  days[0]
end
saturdays?() click to toggle source

Query if the record applies on Saturdays @return [Boolean, nil]

# File lib/rail_feeds/network_rail/schedule/days.rb, line 61
def saturdays?
  days[5]
end
sundays?() click to toggle source

Query if the record applies on Sundays @return [Boolean, nil]

# File lib/rail_feeds/network_rail/schedule/days.rb, line 67
def sundays?
  days[6]
end
thursdays?() click to toggle source

Query if the record applies on Thursdays @return [Boolean, nil]

# File lib/rail_feeds/network_rail/schedule/days.rb, line 49
def thursdays?
  days[3]
end
tuesdays?() click to toggle source

Query if the record applies on Tuesdays @return [Boolean, nil]

# File lib/rail_feeds/network_rail/schedule/days.rb, line 37
def tuesdays?
  days[1]
end
wednesdays?() click to toggle source

Query if the record applies on Wednesdays @return [Boolean, nil]

# File lib/rail_feeds/network_rail/schedule/days.rb, line 43
def wednesdays?
  days[2]
end

Protected Instance Methods

days_from_cif(value) click to toggle source
# File lib/rail_feeds/network_rail/schedule/days.rb, line 77
def days_from_cif(value)
  self.days = self.class.days_from_cif value
end
days_to_cif() click to toggle source
# File lib/rail_feeds/network_rail/schedule/days.rb, line 73
def days_to_cif
  self.class.days_to_cif days
end