Sha256: 98d8730f57baeb927aa77c2888740ab4b1a6ffa6e2a87aeba95f499187428039
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require 'thor' require 'json' module NatureRemo class Cli < Thor desc 'devices', 'find all devices' def devices puts JSON.parse(client.devices.body) end desc 'me', 'print nickname' def me puts JSON.parse(client.users.body)["nickname"] end desc 'appliances ID SIGNAL', 'Access a appliance' def appliances appliance_num = nil, action = nil if appliance_num && action id = get_appliance_id(appliance_num.to_i) signal = get_signal_id(id, action.to_i) puts 'sending...' client.send_signal(signal) puts 'done' elsif appliance_num appliances_body[appliance_num.to_i]["signals"].each_with_index do |signal,i| puts "#{i}: #{signal["name"]}" end else appliances_body.each_with_index do |appliance, i| puts "#{i}: #{appliance["nickname"]}" end end end private def client client ||= NatureRemo::Client.new end def appliances_body appliances ||= JSON.parse(client.appliances.body) end def get_appliance_id num appliances_body[num]["id"] end def get_signal_id id, num JSON.parse(client.appliances(id).body)[num]["id"] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
nature_remo-0.1.1 | lib/nature_remo/cli.rb |
nature_remo-0.1.0 | lib/nature_remo/cli.rb |