Class: NestConnect::Device::BaseDevice

Inherits:
Object
  • Object
show all
Defined in:
lib/nest_connect/devices/base_device.rb

Direct Known Subclasses

Camera, Protect, Structure, Thermostat

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_class: self.class.api_class, **args) ⇒ BaseDevice

Returns a new instance of BaseDevice.



13
14
15
16
17
18
# File 'lib/nest_connect/devices/base_device.rb', line 13

def initialize(api_class: self.class.api_class, **args)
  @api_class = api_class
  args.each do |key, value|
    instance_variable_set("@#{key}", value)
  end
end

Instance Attribute Details

#access_tokenObject

Returns the value of attribute access_token.



26
27
28
# File 'lib/nest_connect/devices/base_device.rb', line 26

def access_token
  @access_token
end

Class Method Details

.all(api_class: self.api_class, access_token: nil) ⇒ Object



8
9
10
11
# File 'lib/nest_connect/devices/base_device.rb', line 8

def self.all(api_class: self.api_class, access_token: nil)
  remote_hash = api_class.new(access_token: access_token).all.body
  from_hash_collection(remote_hash)
end

.from_hash_collection(hash) ⇒ Object



4
5
6
# File 'lib/nest_connect/devices/base_device.rb', line 4

def self.from_hash_collection(hash)
  hash.values.map { |value| new(value) }
end

Instance Method Details

#reloadObject



20
21
22
23
24
# File 'lib/nest_connect/devices/base_device.rb', line 20

def reload
  api_runner.get.body.each do |key, value|
    instance_variable_set("@#{key}", value)
  end
end