Module: ActivePeriod::Collection
- Includes:
- Enumerable
- Included in:
- FreePeriod, HolidayPeriod, StandardPeriod
- Defined in:
- lib/active_period/collection.rb,
lib/active_period/collection/free_period.rb,
lib/active_period/collection/holiday_period.rb,
lib/active_period/collection/standard_period.rb
Defined Under Namespace
Classes: FreePeriod, HolidayPeriod, StandardPeriod
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Instance Attribute Details
#klass ⇒ Object
Returns the value of attribute klass.
7
8
9
|
# File 'lib/active_period/collection.rb', line 7
def klass
@klass
end
|
#period ⇒ Object
Returns the value of attribute period.
11
12
13
|
# File 'lib/active_period/collection.rb', line 11
def period
@period
end
|
Class Method Details
.new(klass, period) ⇒ Object
Instance Method Details
#each(&block) ⇒ Object
47
48
49
|
# File 'lib/active_period/collection.rb', line 47
def each(&block)
block_given? ? enumerator.each(&block) : enumerator
end
|
#find_nth(limit) ⇒ Object
40
41
42
43
44
45
|
# File 'lib/active_period/collection.rb', line 40
def find_nth(limit)
each.with_index do |element, index|
return element if index == limit
end
return nil
end
|
#fourth ⇒ Object
36
37
38
|
# File 'lib/active_period/collection.rb', line 36
def fourth
find_nth(3)
end
|
#initialize(klass, period) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/active_period/collection.rb', line 21
def initialize(klass, period)
raise I18n.t(:param_period_must_be_a_period, scope: %i[active_period collection]) unless period.class.ancestors.include?(ActivePeriod::Period)
@klass = klass
@period = period
end
|
#last ⇒ Object
55
56
57
|
# File 'lib/active_period/collection.rb', line 55
def last
reverse_each.first
end
|
#reverse_each(&block) ⇒ Object
51
52
53
|
# File 'lib/active_period/collection.rb', line 51
def reverse_each(&block)
block_given? ? reverse_enumerator.each(&block) : reverse_enumerator
end
|
#second ⇒ Object
28
29
30
|
# File 'lib/active_period/collection.rb', line 28
def second
find_nth(1)
end
|
#third ⇒ Object
32
33
34
|
# File 'lib/active_period/collection.rb', line 32
def third
find_nth(2)
end
|