class VpsbClient::Metrics::IntervalConfig
Public Class Methods
new(start_time, interval_length, options={})
click to toggle source
# File lib/vpsb_client/metrics/interval_config.rb, line 4 def initialize(start_time, interval_length, options={}) @start_time = start_time @interval_length = interval_length @force = options.fetch(:force, false) end
Public Instance Methods
aligned?()
click to toggle source
# File lib/vpsb_client/metrics/interval_config.rb, line 10 def aligned? if @force false elsif @interval_length < 86400 true else false end end
length()
click to toggle source
# File lib/vpsb_client/metrics/interval_config.rb, line 34 def length @interval_length end
min_end_time()
click to toggle source
# File lib/vpsb_client/metrics/interval_config.rb, line 30 def min_end_time min_start_time + @interval_length end
min_start_time()
click to toggle source
# File lib/vpsb_client/metrics/interval_config.rb, line 20 def min_start_time if @force @start_time elsif aligned? lower_boundary_time(@start_time) else @start_time end end
Private Instance Methods
lower_boundary_time(t)
click to toggle source
# File lib/vpsb_client/metrics/interval_config.rb, line 40 def lower_boundary_time(t) Time.at((t.to_i / @interval_length.to_i) * @interval_length.to_i) end