Class: Icinga::Responder

Inherits:
Object
  • Object
show all
Defined in:
lib/icinga/responder.rb

Direct Known Subclasses

CSVResponder, JSONResponder

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, client, request) ⇒ Responder

Returns a new instance of Responder.



21
22
23
24
25
# File 'lib/icinga/responder.rb', line 21

def initialize(klass, client, request)
  @klass = klass
  @client = client
  @request = request
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



3
4
5
# File 'lib/icinga/responder.rb', line 3

def data
  @data
end

Class Method Details

.create(klass, client, request) ⇒ Object



8
9
10
11
# File 'lib/icinga/responder.rb', line 8

def self.create(klass, client, request)
  responder_klass = Icinga.const_get("#{client.options[:format].upcase}Responder")
  responder_klass.new(klass, client, request)
end

Instance Method Details

#eachObject



31
32
33
# File 'lib/icinga/responder.rb', line 31

def each
  data.each {|item| yield(@klass.new(item))}
end

#responseObject



13
14
15
16
17
18
19
# File 'lib/icinga/responder.rb', line 13

def response
  begin
    @response ||= @client.connection.request(@request)
  rescue Exception => e
    e
  end
end

#to_sObject



27
28
29
# File 'lib/icinga/responder.rb', line 27

def to_s
  data.to_s
end