Class: CS::Relation::SensorDataRelation

Inherits:
Object
  • Object
show all
Includes:
CS::Relation, Enumerable
Defined in:
lib/cs/relation/sensor_data_relation.rb

Instance Method Summary collapse

Methods included from CS::Relation

#all, #check_session!, #each, #each_batch, #find_or_create, #find_or_create!, #find_or_new, #get_data, #get_data!, #get_options, #inspect, #limit, #parameter, #parameters, #where

Constructor Details

#initialize(sensor_id, session = nil) ⇒ SensorDataRelation

Returns a new instance of SensorDataRelation.



19
20
21
22
# File 'lib/cs/relation/sensor_data_relation.rb', line 19

def initialize(sensor_id, session=nil)
  self.sensor_id = sensor_id
  self.session = session
end

Instance Method Details

#build(attributes = {}) ⇒ Object



28
29
30
31
32
# File 'lib/cs/relation/sensor_data_relation.rb', line 28

def build(attributes={})
  sensor_data = super(attributes)
  sensor_data.sensor_id = self.sensor_id
  sensor_data
end

#collectionObject



73
74
75
# File 'lib/cs/relation/sensor_data_relation.rb', line 73

def collection
  Collection::SensorDataCollection.new(session)
end

#countObject



34
35
36
37
38
39
40
41
# File 'lib/cs/relation/sensor_data_relation.rb', line 34

def count
  retval = 0
  each_batch do |data|
    retval += data.size
  end

  retval
end

#end_date(date) ⇒ Object



57
58
59
# File 'lib/cs/relation/sensor_data_relation.rb', line 57

def end_date(date)
  to(date)
end

#firstObject



43
44
45
46
# File 'lib/cs/relation/sensor_data_relation.rb', line 43

def first
  data = get_data!(page:0, per_page: 1, sort: "ASC")
  parse_single_resource(data)
end

#from(start_date) ⇒ Object



61
62
63
64
65
# File 'lib/cs/relation/sensor_data_relation.rb', line 61

def from(start_date)
  param_option = self.class.parameters[:start_date]
  self.start_date = process_param_time(:start_date, start_date, param_option)
  self
end

#get_urlObject



24
25
26
# File 'lib/cs/relation/sensor_data_relation.rb', line 24

def get_url
  "/sensors/#{self.sensor_id}/data.json"
end

#lastObject



48
49
50
51
# File 'lib/cs/relation/sensor_data_relation.rb', line 48

def last
  data = get_data!(page:0, per_page: 1, sort: "DESC")
  parse_single_resource(data)
end

#start_date(date) ⇒ Object



53
54
55
# File 'lib/cs/relation/sensor_data_relation.rb', line 53

def start_date(date)
  from(date)
end

#to(end_date) ⇒ Object



67
68
69
70
71
# File 'lib/cs/relation/sensor_data_relation.rb', line 67

def to(end_date)
  param_option = self.class.parameters[:end_date]
  self.end_date = process_param_time(:end_date, end_date, param_option)
  self
end