Class: NestConnect::ChunkParser

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

Constant Summary collapse

EVENT =
-'event: '
DATA =
-'data: '

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(chunk) ⇒ ChunkParser

Returns a new instance of ChunkParser.



12
13
14
# File 'lib/nest_connect/chunk_parser.rb', line 12

def initialize(chunk)
  @raw_event_line, @raw_data_line = chunk.split("\n")
end

Class Method Details

.write(chunk) ⇒ Object



6
7
8
9
10
# File 'lib/nest_connect/chunk_parser.rb', line 6

def self.write(chunk)
  unless chunk.empty?
    new(chunk)
  end
end

Instance Method Details

#camerasObject



32
33
34
# File 'lib/nest_connect/chunk_parser.rb', line 32

def cameras
  Device::Camera.from_hash_collection(cameras_hash)
end

#dataObject



20
21
22
# File 'lib/nest_connect/chunk_parser.rb', line 20

def data
  JSON.parse(data_line, symbolize_names: true) || {}
end

#eventObject



16
17
18
# File 'lib/nest_connect/chunk_parser.rb', line 16

def event
  event_line
end

#protectsObject



28
29
30
# File 'lib/nest_connect/chunk_parser.rb', line 28

def protects
  Device::Protect.from_hash_collection(smoke_co_alarms_hash)
end

#thermostatsObject



24
25
26
# File 'lib/nest_connect/chunk_parser.rb', line 24

def thermostats
  Device::Thermostat.from_hash_collection(thermostats_hash)
end