Class: SitePrism::Page

Inherits:
Object
  • Object
show all
Extended by:
ElementContainer
Includes:
Capybara::DSL, ElementChecker
Defined in:
lib/site_prism/page.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ElementContainer

add_element_name, element, element_names, elements, section, sections

Methods included from ElementChecker

#all_there?

Class Method Details

.set_url(page_url) ⇒ Object



17
18
19
# File 'lib/site_prism/page.rb', line 17

def self.set_url page_url
  @url = page_url
end

.set_url_matcher(page_url_matcher) ⇒ Object



21
22
23
# File 'lib/site_prism/page.rb', line 21

def self.set_url_matcher page_url_matcher
  @url_matcher = page_url_matcher
end

.urlObject



25
26
27
# File 'lib/site_prism/page.rb', line 25

def self.url
  @url
end

.url_matcherObject



29
30
31
# File 'lib/site_prism/page.rb', line 29

def self.url_matcher
  @url_matcher
end

Instance Method Details

#displayed?Boolean

Returns:

  • (Boolean)

Raises:



12
13
14
15
# File 'lib/site_prism/page.rb', line 12

def displayed?
  raise SitePrism::NoUrlMatcherForPage if url_matcher.nil?
  !(page.current_url =~ url_matcher).nil?
end

#loadObject



7
8
9
10
# File 'lib/site_prism/page.rb', line 7

def load
  raise SitePrism::NoUrlForPage if url.nil?
  visit url
end

#secure?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/site_prism/page.rb', line 41

def secure?
  !current_url.match(/^https/).nil?
end

#titleObject



45
46
47
48
# File 'lib/site_prism/page.rb', line 45

def title
  title_selector = 'html > head > title'
  using_wait_time(0) { page.find(title_selector).text if page.has_selector?(title_selector) }
end

#urlObject



33
34
35
# File 'lib/site_prism/page.rb', line 33

def url
  self.class.url
end

#url_matcherObject



37
38
39
# File 'lib/site_prism/page.rb', line 37

def url_matcher
  self.class.url_matcher
end