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