module Capybara::UI::WidgetParts::Struct::ClassMethods

Public Instance Methods

attribute(name, selector, &block) click to toggle source
# File lib/capybara/ui/widgets/parts/struct.rb, line 10
          def attribute(name, selector, &block)
            child = widget(name, selector, &block)

            class_eval <<-WIDGET
              def #{name}
                widget(:#{name}).value
              end
            WIDGET

            child
          end
boolean(name, selector, &block) click to toggle source
# File lib/capybara/ui/widgets/parts/struct.rb, line 22
          def boolean(name, selector, &block)
            child = widget(name, selector, &block)

            class_eval <<-WIDGET
              def #{name}?
                widget(:#{name}).value
              end
            WIDGET

            child.class_eval <<-VALUE
              def value
                Capybara::UI::Conversions::Boolean(text)
              end
            VALUE

            child
          end
date(name, selector, &block) click to toggle source
# File lib/capybara/ui/widgets/parts/struct.rb, line 40
          def date(name, selector, &block)
            child = attribute(name, selector, &block)

            child.class_eval <<-VALUE
              def value
                Date.parse(text)
              end
            VALUE

            child
          end
float(name, selector, &block) click to toggle source
# File lib/capybara/ui/widgets/parts/struct.rb, line 52
          def float(name, selector, &block)
            child = attribute(name, selector, &block)

            child.class_eval <<-VALUE
              def value
                Float(text)
              end
            VALUE

            child
          end
integer(name, selector, &block) click to toggle source
# File lib/capybara/ui/widgets/parts/struct.rb, line 64
          def integer(name, selector, &block)
            child = attribute(name, selector, &block)

            child.class_eval <<-VALUE
              def value
                Integer(text)
              end
            VALUE

            child
          end
list(name, selector, options = {}, &block) click to toggle source
# File lib/capybara/ui/widgets/parts/struct.rb, line 76
          def list(name, selector, options = {}, &block)
            child = widget(name, selector, Capybara::UI::List) do
              item options[:item_selector], options[:item_class] || ListItem
            end

            class_eval <<-WIDGET
              def #{name}
                widget(:#{name}).value
              end
            WIDGET

            child.class_eval(&block) if block_given?

            child
          end
string(name, *args, &block) click to toggle source
# File lib/capybara/ui/widgets/parts/struct.rb, line 92
          def string(name, *args, &block)
            child = attribute(name, *args, &block)

            child.class_eval <<-VALUE
              def value
                text
              end
            VALUE

            child
          end
time(name, *args, &block) click to toggle source
# File lib/capybara/ui/widgets/parts/struct.rb, line 104
          def time(name, *args, &block)
            child = attribute(name, *args, &block)

            child.class_eval <<-VALUE
              def value
                Time.parse(text)
              end
            VALUE

            child
          end