Class: Rockbox::Api::Devices

Inherits:
Object
  • Object
show all
Defined in:
lib/rockbox/api/devices.rb

Constant Summary collapse

FIELDS =
"id name host ip port service app isConnected baseUrl isCastDevice isSourceDevice isCurrentDevice"

Instance Method Summary collapse

Constructor Details

#initialize(http) ⇒ Devices

Returns a new instance of Devices.



10
11
12
# File 'lib/rockbox/api/devices.rb', line 10

def initialize(http)
  @http = http
end

Instance Method Details

#connect(id) ⇒ Object



27
28
29
30
# File 'lib/rockbox/api/devices.rb', line 27

def connect(id)
  @http.execute("mutation ConnectDevice($id: String!) { connect(id: $id) }", { id: id })
  nil
end

#disconnect(id) ⇒ Object



32
33
34
35
# File 'lib/rockbox/api/devices.rb', line 32

def disconnect(id)
  @http.execute("mutation DisconnectDevice($id: String!) { disconnect(id: $id) }", { id: id })
  nil
end

#get(id) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/rockbox/api/devices.rb', line 19

def get(id)
  data = @http.execute(
    "query Device($id: String!) { device(id: $id) { #{FIELDS} } }",
    { id: id }
  )
  Device.from_hash(data[:device])
end

#listObject



14
15
16
17
# File 'lib/rockbox/api/devices.rb', line 14

def list
  data = @http.execute("query Devices { devices { #{FIELDS} } }")
  Array(data[:devices]).map { |d| Device.from_hash(d) }
end