Class: StatusPage::Services::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/status-page/services/base.rb

Direct Known Subclasses

Cache, Database, Redis, Resque, Sidekiq

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request: nil) ⇒ Base

Returns a new instance of Base.



19
20
21
22
23
# File 'lib/status-page/services/base.rb', line 19

def initialize(request: nil)
  @request = request

  self.class.configure
end

Instance Attribute Details

#requestObject (readonly)

Returns the value of attribute request.



4
5
6
# File 'lib/status-page/services/base.rb', line 4

def request
  @request
end

Class Method Details

.config_classObject

This method is abstract.


35
36
# File 'lib/status-page/services/base.rb', line 35

def self.config_class
end

.configurable?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/status-page/services/base.rb', line 30

def self.configurable?
  config_class
end

.configure {|self.config| ... } ⇒ Object

Yields:

  • (self.config)


11
12
13
14
15
16
17
# File 'lib/status-page/services/base.rb', line 11

def self.configure
  return unless configurable?

  self.config ||= config_class.new

  yield self.config if block_given?
end

.service_nameObject



7
8
9
# File 'lib/status-page/services/base.rb', line 7

def self.service_name
  @name ||= name.demodulize
end

Instance Method Details

#check!Object

This method is abstract.

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/status-page/services/base.rb', line 26

def check!
  raise NotImplementedError
end