module ActivePeriod::Collection
Attributes
klass[R]
@!attribute [r] klass
@return [ActivePeriod::StandardPeriod] Any kind of ActivePeriod::StandardPeriod object
period[R]
@!attribute [r] period
@return [ActivePeriod::FreePeriod] Any kind of ActivePeriod::FreePeriod object
Public Class Methods
new(klass, period)
click to toggle source
# File lib/active_period/collection.rb, line 13 def self.new(klass, period) if period.is_a? ActivePeriod::StandardPeriod ActivePeriod::Collection::StandardPeriod.new(klass, period) else ActivePeriod::Collection::FreePeriod.new(klass, period) end end
new(klass, period)
click to toggle source
# 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
Public Instance Methods
each(&block)
click to toggle source
# File lib/active_period/collection.rb, line 47 def each(&block) block_given? ? enumerator.each(&block) : enumerator end
find_nth(limit)
click to toggle source
# 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()
click to toggle source
# File lib/active_period/collection.rb, line 36 def fourth find_nth(3) end
last()
click to toggle source
# File lib/active_period/collection.rb, line 55 def last reverse_each.first end
reverse_each(&block)
click to toggle source
# File lib/active_period/collection.rb, line 51 def reverse_each(&block) block_given? ? reverse_enumerator.each(&block) : reverse_enumerator end
second()
click to toggle source
# File lib/active_period/collection.rb, line 28 def second find_nth(1) end
third()
click to toggle source
# File lib/active_period/collection.rb, line 32 def third find_nth(2) end