Class: Log

Inherits:
Object
  • Object
show all
Defined in:
lib/flick/log.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Log

Returns a new instance of Log.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/flick/log.rb', line 5

def initialize options
  Flick::Checker.action options[:action]
  Flick::Checker.platform options[:platform]
  self.action = options[:action]
  self.platform = options[:platform]
  case @platform
  when "ios"
    options[:todir] = options[:outdir]
    self.driver = Flick::Ios.new options
  when "android"
    self.driver = Flick::Android.new options
  end
  self.udid = self.driver.udid
end

Instance Attribute Details

#actionObject

Returns the value of attribute action.



3
4
5
# File 'lib/flick/log.rb', line 3

def action
  @action
end

#driverObject

Returns the value of attribute driver.



3
4
5
# File 'lib/flick/log.rb', line 3

def driver
  @driver
end

#platformObject

Returns the value of attribute platform.



3
4
5
# File 'lib/flick/log.rb', line 3

def platform
  @platform
end

#udidObject

Returns the value of attribute udid.



3
4
5
# File 'lib/flick/log.rb', line 3

def udid
  @udid
end

Instance Method Details

#logObject



35
36
37
38
39
40
41
42
43
# File 'lib/flick/log.rb', line 35

def log
  stop
  $0 = "flick-log-#{udid}"
  SimpleDaemon.daemonize!
  command = -> do
    driver.log "#{driver.name}"
  end
 command.call
end

#runObject



20
21
22
# File 'lib/flick/log.rb', line 20

def run
  self.send(action)
end

#startObject



24
25
26
27
# File 'lib/flick/log.rb', line 24

def start
  puts "Saving to #{driver.outdir}/#{driver.name}.log"
  log
end

#stopObject



29
30
31
32
33
# File 'lib/flick/log.rb', line 29

def stop
  Flick::System.kill_process "log", udid
  Flick::System.kill "idevicesyslog -u #{udid}" if ios
  Flick::System.kill "adb -s #{udid} logcat" if android
end