Class: When::V::Event::Enumerator::Logic::Second

Inherits:
When::V::Event::Enumerator::Logic show all
Defined in:
lib/when_exe/icalendar.rb

Overview

BYSECONDを実装

Instance Attribute Summary

Attributes inherited from When::V::Event::Enumerator::Logic

#by_part, #cash, #freq_index, #list

Instance Method Summary collapse

Methods inherited from When::V::Event::Enumerator::Logic

#_bound, #_candidates

Constructor Details

#initialize(by_part, list, lower = nil, upper = nil, leap = false) ⇒ Second

Returns a new instance of Second.



1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
# File 'lib/when_exe/icalendar.rb', line 1743

def initialize(by_part, list, lower=nil, upper=nil, leap=false)
  super(by_part, list)
  if lower
    @list = @list.map {|v|
      v -= 1 if leap && upper <= v && v < upper+1
      raise ArgumentError, "#{by_part} out of range: #{v}" unless lower <= v && v < upper
      v
    }
  end
end