class StatusPageRuby::Pages::Base
Attributes
url[R]
document[R]
time[R]
Public Class Methods
new(document, time)
click to toggle source
# File lib/status_page_ruby/pages/base.rb, line 46 def initialize(document, time) @document = document @time = time end
open()
click to toggle source
# File lib/status_page_ruby/pages/base.rb, line 7 def open new(Nokogiri::HTML(OpenURI.open_uri(url)), Time.now.utc.to_i) end
Private Class Methods
element(name, type, locator)
click to toggle source
# File lib/status_page_ruby/pages/base.rb, line 23 def element(name, type, locator) define_method :"#{name}_element" do document.public_send("at_#{type}", locator) end define_method :"has_#{name}_element?" do document.public_send(type, locator).size.positive? end end
page_success_message(success_message)
click to toggle source
# File lib/status_page_ruby/pages/base.rb, line 17 def page_success_message(success_message) define_method :success_message do success_message end end
page_url(url)
click to toggle source
# File lib/status_page_ruby/pages/base.rb, line 13 def page_url(url) @url = url end
Public Instance Methods
status()
click to toggle source
# File lib/status_page_ruby/pages/base.rb, line 40 def status raise 'Method not implemented.' end
success?()
click to toggle source
# File lib/status_page_ruby/pages/base.rb, line 36 def success? status == success_message end