class MotionHybrid::Bridge

Constants

JS_LIB
PATH

Public Class Methods

new(screen) click to toggle source
# File lib/motion-hybrid/models/bridge.rb, line 6
def initialize(screen)
  @screen = screen
  @screen.evaluate(JS_LIB)
end

Public Instance Methods

click(target) click to toggle source
# File lib/motion-hybrid/models/bridge.rb, line 11
def click(target)
  js_api("clicked('#{target}')")
end
click_child(target, index) click to toggle source
# File lib/motion-hybrid/models/bridge.rb, line 15
def click_child(target, index)
  js_api("clicked('#{target}', #{index})") if index > 0
end

Private Instance Methods

bridge_hash() click to toggle source
# File lib/motion-hybrid/models/bridge.rb, line 21
def bridge_hash
  @bridge_hash ||= Dish BW::JSON.parse(bridge_json)
end
bridge_json() click to toggle source
# File lib/motion-hybrid/models/bridge.rb, line 25
def bridge_json
  js_api('getParams()').presence || '{}'
end
js_api(command) click to toggle source
# File lib/motion-hybrid/models/bridge.rb, line 33
def js_api(command)
  @screen.evaluate("MotionHybrid.#{command};").to_s
end
method_missing(method) click to toggle source
# File lib/motion-hybrid/models/bridge.rb, line 29
def method_missing(method)
  bridge_hash.send(method)
end