class TPLink::Config

This class handles the configuration. It is used internally and should not need to be called. @!visibility private

Public Class Methods

new(config = {}) click to toggle source
# File lib/tp_link/config.rb, line 8
def initialize(config = {})
  @config = config
  raise 'User name not spcified in configuration.' \
    unless @config.key?('user')
  raise 'Password not specified in configuration.' \
    unless @config.key?('password')
  generate_uuid unless @config.key? 'uuid'
end

Public Instance Methods

app_type() click to toggle source
# File lib/tp_link/config.rb, line 22
def app_type
  'Kasa_Android'
end
cloud_password() click to toggle source
# File lib/tp_link/config.rb, line 34
def cloud_password
  @config['password']
end
cloud_user_name() click to toggle source
# File lib/tp_link/config.rb, line 30
def cloud_user_name
  @config['user']
end
generate_uuid() click to toggle source
# File lib/tp_link/config.rb, line 17
def generate_uuid
  @config['uuid'] ||= SecureRandom.uuid
  @config['uuid']
end
terminal_uuid() click to toggle source
# File lib/tp_link/config.rb, line 26
def terminal_uuid
  @config['uuid'] ||= Securerandom.uuid
end
to_hash() click to toggle source
# File lib/tp_link/config.rb, line 38
def to_hash
  {
    appType: app_type,
    cloudUserName: cloud_user_name,
    cloudPassword: cloud_password,
    terminalUUID: terminal_uuid
  }
end
to_json(_o) click to toggle source
# File lib/tp_link/config.rb, line 47
def to_json(_o)
  to_hash.to_json
end