class TimeStep::Query

Public Class Methods

new(timestep, format: nil) click to toggle source
# File lib/timesteps/timestep_query.rb, line 5
def initialize (timestep, format: nil)
  @timestep = timestep
  @format   = foramt
end

Public Instance Methods

just_after_time_of(time) click to toggle source
# File lib/timesteps/timestep_query.rb, line 30
def just_after_time_of (time)
  idx = @timestep.index_at(time)
  if idx.denomiator == 1
    time0 = time
  else
    time0 = @timestep.time_at(idx.ceil)
  end
  return __format__(time0)
end
just_before_time_of(time) click to toggle source
# File lib/timesteps/timestep_query.rb, line 20
def just_before_time_of (time)
  idx = @timestep.index_at(time)
  if idx.denomiator == 1
    time0 = time
  else
    time0 = @timestep.time_at(idx.floor)
  end
  return __format__(time0)
end
just_time?(time) click to toggle source
# File lib/timesteps/timestep_query.rb, line 16
def just_time? (time)
  return @timestep.index_at(time).denominator == 1
end
next_time_of(time) click to toggle source
# File lib/timesteps/timestep_query.rb, line 44
def next_time_of (time)
  return __format__(@timestep.next_time_of(time))
end
prev_time_of(time) click to toggle source
# File lib/timesteps/timestep_query.rb, line 40
def prev_time_of (time)
  return __format__(@timestep.prev_time_of(time))
end

Private Instance Methods

__format__(time) click to toggle source
# File lib/timesteps/timestep_query.rb, line 10
def __format__ (time)
  return ( @template.nil? ) ? time : time.strftime(@template)
end