Class: Kriterion::API

Inherits:
Sinatra::Application
  • Object
show all
Includes:
Logs
Defined in:
lib/kriterion/api.rb

Constant Summary collapse

@@instance =

We only every want to have one instance of this running at a time. This is required due to the way that Sinatra initialises things This adds the initialize method etc.

nil

Constants included from Logs

Logs::DEBUG, Logs::INFO

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Logs

#logger

Constructor Details

#initialize(opts = {}) ⇒ API

Returns a new instance of API.



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/kriterion/api.rb', line 19

def initialize(opts = {})
  # If there is already an instance, copy the objects from that
  if @@instance
    @queue_uri = @@instance.queue_uri
    @metrics   = @@instance.metrics
    @backend   = @@instance.backend
  else
    @queue_uri, @metrics, @backend = Kriterion::Connector.connections(opts)
    @@instance = self
  end
  super()
  logger.info "Initialised Kritioner API version #{Kriterion::VERSION}"
end

Instance Attribute Details

#backendObject

Returns the value of attribute backend.



10
11
12
# File 'lib/kriterion/api.rb', line 10

def backend
  @backend
end

#metricsObject

Returns the value of attribute metrics.



9
10
11
# File 'lib/kriterion/api.rb', line 9

def metrics
  @metrics
end

#queue_uriObject

Returns the value of attribute queue_uri.



8
9
10
# File 'lib/kriterion/api.rb', line 8

def queue_uri
  @queue_uri
end