Module: Masque::DSL

Defined in:
lib/masque/dsl.rb

Instance Method Summary collapse

Instance Method Details

#cookiesObject



43
44
45
# File 'lib/masque/dsl.rb', line 43

def cookies
  driver.cookies # driver specific format
end

#driverObject



16
17
18
# File 'lib/masque/dsl.rb', line 16

def driver
  session.driver
end

#driver_nameObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/masque/dsl.rb', line 20

def driver_name
  case driver
  when ::Capybara::Driver::Webkit, ::Capybara::Webkit::Driver
    :webkit
  when ::Capybara::Poltergeist::Driver
    :poltergeist
  else
    :unknown
  end
end

#pageObject



12
13
14
# File 'lib/masque/dsl.rb', line 12

def page
  session
end

#resize(x, y) ⇒ Object Also known as: resize_window



47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/masque/dsl.rb', line 47

def resize(x, y)
  case driver_name
  when :webkit
    if driver.respond_to?(:resize_to)
      driver.resize_to(x, y)
    else
      driver.resize_window(x, y)
    end
  when :poltergeist
    driver.resize(x, y)
  else
    raise "for unknown driver"
  end
end

#save_screenshot(path) ⇒ Object Also known as: render



7
8
9
# File 'lib/masque/dsl.rb', line 7

def save_screenshot(path)
  page.driver.save_screenshot(path)
end

#set_headers(headers = {}) ⇒ Object Also known as: set_request_headers



31
32
33
34
35
36
37
38
39
40
# File 'lib/masque/dsl.rb', line 31

def set_headers(headers = {})
  case driver_name
  when :webkit
    headers.each_pair {|k,v| driver.header(k, v)}
  when :poltergeist
    driver.headers = headers
  else
    raise "for unknown driver"
  end
end

#wait_until(timeout = nil, &block) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
# File 'lib/masque/dsl.rb', line 63

def wait_until(timeout = nil, &block)
  timeout ||= 5
  start = Time.now
  ret = nil
  loop do
    break if ret = yield
    sleep 0.01
    raise TimeoutError if (Time.now - start) > timeout
  end
  ret
end