class Conformity::Form

Attributes

host[R]
steps[R]

Public Class Methods

new(host = '', &steps) click to toggle source
# File lib/conformity/form.rb, line 11
def initialize(host = '', &steps)
  @host = host
  @steps = steps
  instance_eval(&steps)
end

Public Instance Methods

actions() click to toggle source
# File lib/conformity/form.rb, line 21
def actions
  @actions ||= Actions.new(fields_container)
end
field(name, opts = {}) click to toggle source
# File lib/conformity/form.rb, line 29
def field(name, opts = {})
  fields_container.add_new_field(name, opts)
end
fields() click to toggle source
# File lib/conformity/form.rb, line 46
def fields
  fields_container.fields
end
fields_container() click to toggle source
# File lib/conformity/form.rb, line 17
def fields_container
  @fields_container ||= Fields.new
end
fill() click to toggle source
# File lib/conformity/form.rb, line 33
def fill
  Capybara.current_session.reset!
  set_host(host)

  actions.instance_eval(&steps)
  Capybara.page
end
fill_with(field_hash) click to toggle source
# File lib/conformity/form.rb, line 41
def fill_with(field_hash)
  fields_container.set_all(field_hash)
  fill
end
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/conformity/form.rb, line 50
def method_missing(name, *args, &block)
  # ignore actions
  super unless Actions::ACTIONS.include?(name)
end
select(*args) click to toggle source

so Kernel#select isn’t called

# File lib/conformity/form.rb, line 56
def select(*args)
end
success_conditions() click to toggle source
# File lib/conformity/form.rb, line 25
def success_conditions
  @success_conditions ||= SuccessConditions.new
end

Private Instance Methods

set_host(host) click to toggle source
# File lib/conformity/form.rb, line 60
def set_host(host)
  Capybara.app_host = host
end