Module: Domkey::View

Defined in:
lib/domkey/view.rb,
lib/domkey/view/binder.rb,
lib/domkey/view/page_object.rb,
lib/domkey/view/radio_group.rb,
lib/domkey/view/select_list.rb,
lib/domkey/view/label_mapper.rb,
lib/domkey/view/labeled_group.rb,
lib/domkey/view/checkbox_group.rb,
lib/domkey/view/widgetry/package.rb,
lib/domkey/view/option_selectable.rb,
lib/domkey/view/widgetry/dispatcher.rb,
lib/domkey/view/page_object_collection.rb,
lib/domkey/view/option_selectable_group.rb

Defined Under Namespace

Modules: ClassMethods, OptionSelectable, Widgetry Classes: Binder, CheckboxGroup, LabelMapper, LabeledGroup, OptionSelectableGroup, PageObject, PageObjectCollection, RadioGroup, SelectList

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#browserWatir::Browser

browser for this view. if View was initialized without a browser then default Domkey.browser is provided

Returns:

  • (Watir::Browser)


50
51
52
# File 'lib/domkey/view.rb', line 50

def browser
  @browser
end

Class Method Details

.included(klass) ⇒ Object



36
37
38
# File 'lib/domkey/view.rb', line 36

def self.included(klass)
  klass.extend(ClassMethods)
end

Instance Method Details

#initialize(browser = nil) ⇒ Object

Parameters:

  • (false) (Watir::Browser)


43
44
45
# File 'lib/domkey/view.rb', line 43

def initialize browser=nil
  @browser = browser
end

#set(value) ⇒ Object



54
55
56
# File 'lib/domkey/view.rb', line 54

def set value
  Binder.new(model: value, view: self).set
end

#value(value) ⇒ Hash{Symbol => Object}

Returns data from the view.

Parameters:

  • view (Hash{Symbol => Object})

    data where Symbol is semantic descriptor for a pageobject in the view

  • for (Symbol)

    one pageobject

  • for (Array<Symbol>)

    array of pageobjects

Returns:

  • (Hash{Symbol => Object})

    data from the view



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

def value value
  # transform value into hash
  value = case value
          when Symbol
            {value => nil}
          when Array
            #array of symbols
            Hash[value.map { |v| [v, nil] }]
          when Hash
            value
          end
  Binder.new(model: value, view: self).value
end