Class: Availability::Once
Instance Attribute Summary
#capacity, #duration, #exclusions, #interval, #residue, #start_time, #stops_by
Instance Method Summary
collapse
Methods included from Createable
create, extended
#beginning, #corresponds_to?, #end_time, #includes?, #initialize_copy, #next_n_occurrences, #time_overlaps?
#create, #once
#availability?, #beginning, #default_args, #subclass_for
#<=>
Constructor Details
#initialize(**args) ⇒ Once
Returns a new instance of Once.
7
8
9
10
11
|
# File 'lib/availability/once.rb', line 7
def initialize(**args)
raise ArgumentError, "start_time is required" unless args.has_key?(:start_time)
raise ArgumentError, "duration is required" unless args.has_key?(:duration)
super **args, interval: 0, stops_by: args[:start_time] + args[:duration]
end
|
Instance Method Details
#interval_difference(this, that) ⇒ Object
13
14
15
|
# File 'lib/availability/once.rb', line 13
def interval_difference(this, that)
raise NotImplementedError.new('not supported')
end
|
#last_occurrence ⇒ Object
21
22
23
|
# File 'lib/availability/once.rb', line 21
def last_occurrence
start_time
end
|
#move_by(time, amount) ⇒ Object
17
18
19
|
# File 'lib/availability/once.rb', line 17
def move_by(time, amount)
time + amount.days
end
|
#next_occurrence(time) ⇒ Object
25
26
27
|
# File 'lib/availability/once.rb', line 25
def next_occurrence(time)
start_time
end
|
#residue_for(time) ⇒ Object
29
30
31
|
# File 'lib/availability/once.rb', line 29
def residue_for(time)
0
end
|