class Chronic::RepeaterMonthName
:nodoc:
def index
def index @index ||= MONTHS[@type] end
def initialize(type)
def initialize(type) super end
def next(pointer)
def next(pointer) super if !@current_month_begin case pointer when :future if @now.month < index @current_month_begin = Chronic.construct(@now.year, index) elsif @now.month > index @current_month_begin = Chronic.construct(@now.year + 1, index) end when :none if @now.month <= index @current_month_begin = Chronic.construct(@now.year, index) elsif @now.month > index @current_month_begin = Chronic.construct(@now.year + 1, index) end when :past if @now.month >= index @current_month_begin = Chronic.construct(@now.year, index) elsif @now.month < index @current_month_begin = Chronic.construct(@now.year - 1, index) end end @current_month_begin || raise("Current month should be set by now") else case pointer when :future @current_month_begin = Chronic.construct(@current_month_begin.year + 1, @current_month_begin.month) when :past @current_month_begin = Chronic.construct(@current_month_begin.year - 1, @current_month_begin.month) end end cur_month_year = @current_month_begin.year cur_month_month = @current_month_begin.month if cur_month_month == 12 next_month_year = cur_month_year + 1 next_month_month = 1 else next_month_year = cur_month_year next_month_month = cur_month_month + 1 end Span.new(@current_month_begin, Chronic.construct(next_month_year, next_month_month)) end
def this(pointer = :future)
def this(pointer = :future) super case pointer when :past self.next(pointer) when :future, :none self.next(:none) end end
def to_s
def to_s super << '-monthname-' << @type.to_s end
def width
def width MONTH_SECONDS end