class Squeezectrl::Cli

Public Instance Methods

pause() click to toggle source
# File lib/squeezectrl/cli.rb, line 26
def pause
  perform_action "pause"
end
play() click to toggle source
# File lib/squeezectrl/cli.rb, line 31
def play
  perform_action "play"
end
power() click to toggle source
# File lib/squeezectrl/cli.rb, line 21
def power
  perform_action "power"
end
version() click to toggle source
# File lib/squeezectrl/cli.rb, line 36
def version
  puts "#{$PROGRAM_NAME} version #{Squeezectrl::VERSION}"
end

Private Instance Methods

config() click to toggle source
# File lib/squeezectrl/cli.rb, line 62
def config
  @config ||= OpenStruct.new(YAML.load_file(config_file))
end
config_file() click to toggle source
# File lib/squeezectrl/cli.rb, line 66
def config_file
  %w(~/.squeezectrl.yml ~/.config/squeezectrl.yml).each do |path|
    full_path = File.expand_path(path)
    return full_path if File.exists?(full_path)
  end

  raise "No config file found!"
end
login() click to toggle source
# File lib/squeezectrl/cli.rb, line 48
def login
  visit "/index/Home"
  click_link "Log in"
  fill_in "email",    with: config.email
  fill_in "password", with: config.password
  click_button "Log in"
  page.has_content?("Log out") or raise "Login was not successful!"
end
open_remote_control() click to toggle source
# File lib/squeezectrl/cli.rb, line 57
def open_remote_control
  visit "/player/playerControl"
  page.has_content?("Current player") or raise "Remote control not possible"
end
perform_action(button) click to toggle source
# File lib/squeezectrl/cli.rb, line 42
def perform_action(button)
  login
  open_remote_control
  find(".btn-#{button} button").click
end