Method: When::CalendarNote::Week::Enumerator#succ

Defined in:
lib/when_exe/calendarnote.rb

#succWhen::TM::TemporalPosition

次のイベントを得る



833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
# File 'lib/when_exe/calendarnote.rb', line 833

def succ
  value = @current
  plus  = @delta.sign > 0
  if @current==:first
    @first   = event_eval(@first) unless plus
    @current = @first
  else
    if plus
      @current = event_eval(@current + @delta)
    else
      @last    = event_eval(@current - When::P1D)
      @current = event_eval(@current + @delta)
      unless [@current.to_i, value.to_i].include?(@last.to_i)
        @current = @last
        return value
      end
    end
    @current = event_eval(@current + @delta * 2) if @current.to_i == value.to_i
  end
  return value
end