Class: Biz::DayOfWeek
- Inherits:
-
Object
- Object
- Biz::DayOfWeek
- Defined in:
- lib/biz/day_of_week.rb
Constant Summary collapse
- SYMBOLS =
[:sun, :mon, :tue, :wed, :thu, :fri, :sat]
- DAYS =
[ SUNDAY = new(0), MONDAY = new(1), TUESDAY = new(2), WEDNESDAY = new(3), THURSDAY = new(4), FRIDAY = new(5), SATURDAY = new(6) ]
- WEEKDAYS =
[ MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY ]
Instance Attribute Summary collapse
-
#wday ⇒ Object
readonly
Returns the value of attribute wday.
Class Method Summary collapse
- .first ⇒ Object
- .from_symbol(symbol) ⇒ Object
- .from_time(time) ⇒ Object (also: from_date)
- .last ⇒ Object
Instance Method Summary collapse
- #contains?(week_time) ⇒ Boolean
- #day_minute(week_minute) ⇒ Object
- #end_minute ⇒ Object
-
#initialize(wday) ⇒ DayOfWeek
constructor
A new instance of DayOfWeek.
- #minutes ⇒ Object
- #start_minute ⇒ Object
- #symbol ⇒ Object
- #week_minute(day_minute) ⇒ Object
Constructor Details
#initialize(wday) ⇒ DayOfWeek
Returns a new instance of DayOfWeek.
30 31 32 |
# File 'lib/biz/day_of_week.rb', line 30 def initialize(wday) @wday = Integer(wday) end |
Instance Attribute Details
#wday ⇒ Object (readonly)
Returns the value of attribute wday.
28 29 30 |
# File 'lib/biz/day_of_week.rb', line 28 def wday @wday end |
Class Method Details
.first ⇒ Object
14 15 16 |
# File 'lib/biz/day_of_week.rb', line 14 def self.first DAYS.first end |
.from_symbol(symbol) ⇒ Object
10 11 12 |
# File 'lib/biz/day_of_week.rb', line 10 def self.from_symbol(symbol) DAYS.fetch(SYMBOLS.index(symbol)) end |
.from_time(time) ⇒ Object Also known as: from_date
6 7 8 |
# File 'lib/biz/day_of_week.rb', line 6 def self.from_time(time) DAYS.fetch(time.wday) end |
.last ⇒ Object
18 19 20 |
# File 'lib/biz/day_of_week.rb', line 18 def self.last DAYS.last end |
Instance Method Details
#contains?(week_time) ⇒ Boolean
34 35 36 |
# File 'lib/biz/day_of_week.rb', line 34 def contains?(week_time) minutes.cover?(week_time) end |
#day_minute(week_minute) ⇒ Object
54 55 56 |
# File 'lib/biz/day_of_week.rb', line 54 def day_minute(week_minute) (week_minute - 1) % Time::MINUTES_IN_DAY + 1 end |
#end_minute ⇒ Object
42 43 44 |
# File 'lib/biz/day_of_week.rb', line 42 def end_minute start_minute + Time::MINUTES_IN_DAY end |
#minutes ⇒ Object
46 47 48 |
# File 'lib/biz/day_of_week.rb', line 46 def minutes start_minute..end_minute end |
#start_minute ⇒ Object
38 39 40 |
# File 'lib/biz/day_of_week.rb', line 38 def start_minute wday * Time::MINUTES_IN_DAY end |
#symbol ⇒ Object
58 59 60 |
# File 'lib/biz/day_of_week.rb', line 58 def symbol SYMBOLS.fetch(wday) end |
#week_minute(day_minute) ⇒ Object
50 51 52 |
# File 'lib/biz/day_of_week.rb', line 50 def week_minute(day_minute) start_minute + day_minute end |