Class: Mdq::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/mdq/cli.rb

Overview

entry point

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/mdq/cli.rb', line 10

def exit_on_failure?
  true
end

.help(shell, subcommand) ⇒ Object



114
115
116
117
# File 'lib/mdq/cli.rb', line 114

def self.help(shell, subcommand)
  super
  puts 'Online documentation: https://github.com/arthur87/mdq'
end

Instance Method Details

#appsObject



51
52
53
54
55
# File 'lib/mdq/cli.rb', line 51

def apps
  db = Mdq::DB.new
  db.get(is_android: options[:android], is_apple: options[:apple])
  puts(JSON.pretty_generate(App.all.as_json))
end

#capObject



79
80
81
82
83
# File 'lib/mdq/cli.rb', line 79

def cap
  db = Mdq::DB.new
  db.get(is_apps: false)
  db.device_screencap(options[:output], options[:udid])
end

#checkObject



21
22
23
24
25
# File 'lib/mdq/cli.rb', line 21

def check
  db = Mdq::DB.new
  puts "adb is installed: #{db.android_discoverable?}"
  puts "Xcode is installed: #{db.apple_discoverable?}"
end

#devicesObject



36
37
38
39
40
41
42
43
44
# File 'lib/mdq/cli.rb', line 36

def devices
  db = Mdq::DB.new
  db.get(is_android: options[:android],
         is_apple: options[:apple],
         is_apps: false,
         is_physical: options[:physical],
         is_simulated: options[:simulated])
  puts(JSON.pretty_generate(Device.all.as_json))
end

#installObject



99
100
101
102
103
# File 'lib/mdq/cli.rb', line 99

def install
  db = Mdq::DB.new
  db.get(is_apps: false)
  db.app_install(options[:input], options[:udid], options[:replace])
end

#listObject



63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/mdq/cli.rb', line 63

def list
  db = Mdq::DB.new
  is_apps = db.query_contains_apps_table?(options[:query])
  db.get(is_android: options[:android], is_apple: options[:apple], is_apps: is_apps)

  begin
    result = db.query(options['query'])
    puts(JSON.pretty_generate(result.as_json))
  rescue StandardError => e
    warn e.message
  end
end

#simcapObject



89
90
91
92
# File 'lib/mdq/cli.rb', line 89

def simcap
  db = Mdq::DB.new
  db.sim_screencap(options[:output], is_android: options[:platform] == 'android')
end

#uninstallObject



108
109
110
111
112
# File 'lib/mdq/cli.rb', line 108

def uninstall
  db = Mdq::DB.new
  db.get(is_apps: false)
  db.app_uninstall(options[:input], options[:udid])
end

#versionObject



16
17
18
# File 'lib/mdq/cli.rb', line 16

def version
  puts(Mdq::VERSION)
end