Class: Influxdb::Arel::Nodes::Duration

Inherits:
Binary show all
Defined in:
lib/influxdb/arel/nodes/duration.rb

Constant Summary collapse

POSSIBLE_SUFFIXES =
%w{u s m h d w}.freeze

Constants inherited from Node

Node::ENTENSIONS

Instance Attribute Summary

Attributes inherited from Binary

#left, #right

Instance Method Summary collapse

Methods inherited from Binary

#eql?, #hash, #initialize_copy

Methods inherited from Node

#extend, #to_sql

Methods included from Extensions::BooleanPredications

#and, #or

Constructor Details

#initialize(value, suffix) ⇒ Duration

Returns a new instance of Duration.



10
11
12
13
14
# File 'lib/influxdb/arel/nodes/duration.rb', line 10

def initialize(value, suffix)
  suffix = suffix.to_s
  suffix = 'u' unless POSSIBLE_SUFFIXES.include?(suffix)
  super(value.to_i, suffix)
end

Instance Method Details

#agoObject



20
21
22
# File 'lib/influxdb/arel/nodes/duration.rb', line 20

def ago
  Now.new - self
end

#sinceObject



24
25
26
# File 'lib/influxdb/arel/nodes/duration.rb', line 24

def since
  Now.new + self
end

#timeObject



16
17
18
# File 'lib/influxdb/arel/nodes/duration.rb', line 16

def time
  Time.new(self)
end