Class: StatusPageVi::BaseResource

Inherits:
Object
  • Object
show all
Includes:
Recordable
Defined in:
lib/status_page_vi/resources/base_resource.rb

Direct Known Subclasses

BitBucket, CloudFlareStatus, Github, RubyGems

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Recordable

included, #initialize, #save

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



21
22
23
# File 'lib/status_page_vi/resources/base_resource.rb', line 21

def options
  @options
end

#scraperObject

Returns the value of attribute scraper.



21
22
23
# File 'lib/status_page_vi/resources/base_resource.rb', line 21

def scraper
  @scraper
end

#timestampObject

Returns the value of attribute timestamp.



21
22
23
# File 'lib/status_page_vi/resources/base_resource.rb', line 21

def timestamp
  @timestamp
end

Class Method Details



15
16
17
18
19
# File 'lib/status_page_vi/resources/base_resource.rb', line 15

def self.print_history
  puts "-------#{self}-------"
  self.list.each { |resource| puts resource }
  puts
end

.pullObject



7
8
9
10
11
12
13
# File 'lib/status_page_vi/resources/base_resource.rb', line 7

def self.pull
  resource = self.new
  resource.call
  resource.save

  puts resource
end

Instance Method Details

#callObject



23
24
25
26
# File 'lib/status_page_vi/resources/base_resource.rb', line 23

def call
  self.scraper = Nokogiri::HTML(open(self.class::URL))
  get_data
end

#get_dataObject



28
29
30
31
# File 'lib/status_page_vi/resources/base_resource.rb', line 28

def get_data
  self.timestamp = Time.now
  self.options["status"] = stats_good? ? "good" : "bad"
end

#to_hObject



33
34
35
# File 'lib/status_page_vi/resources/base_resource.rb', line 33

def to_h
  { self.timestamp => { "status" => self.options["status"] } }
end

#to_sObject



37
38
39
# File 'lib/status_page_vi/resources/base_resource.rb', line 37

def to_s
  "#{self.class::URL}: #{self.timestamp} : #{self.options["status"]}"
end