class Gametel::Views::View
Attributes
locator[R]
platform[R]
Public Class Methods
new(platform, locator)
click to toggle source
# File lib/gametel/views/view.rb, line 6 def initialize(platform, locator) @platform = platform @locator = locator build_property_methods end
Public Instance Methods
raw_view(&block)
click to toggle source
# File lib/gametel/views/view.rb, line 16 def raw_view(&block) get_view_by_id(locator[:id], &block) if locator[:id] get_view_by_index(view_class, locator[:index], &block) if locator[:index] get_view_by_index(locator[:class], locator[:index] || 0, &block) if locator[:class] get_view_by_text(locator[:text], &block) if locator[:text] end
view_class()
click to toggle source
# File lib/gametel/views/view.rb, line 12 def view_class 'android.view.View' end
Protected Instance Methods
build_property_methods()
click to toggle source
# File lib/gametel/views/view.rb, line 41 def build_property_methods metaclass = class << self; self; end properties.each do |property| metaclass.send(:define_method, "#{property}?".to_sym) do raw_view {|device| device.send "is_#{property}" } platform.last_response.body == "true" end end end
get_view_by_id(id, &block)
click to toggle source
# File lib/gametel/views/view.rb, line 29 def get_view_by_id(id, &block) platform.get_view_by_id(id, &block) end
get_view_by_index(clazz, index, &block)
click to toggle source
# File lib/gametel/views/view.rb, line 33 def get_view_by_index(clazz, index, &block) platform.get_view_by_index(clazz, index, &block) end
get_view_by_text(text, &block)
click to toggle source
# File lib/gametel/views/view.rb, line 37 def get_view_by_text(text, &block) raise NotImplementedError end
properties()
click to toggle source
# File lib/gametel/views/view.rb, line 25 def properties [:clickable, :enabled, :focusable, :focused, :selected, :shown] end