Class: FnordMetric::API

Inherits:
Object
  • Object
show all
Defined in:
lib/fnordmetric/api.rb

Constant Summary collapse

@@opts =
nil

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ API

Returns a new instance of API.



5
6
7
8
9
10
11
12
# File 'lib/fnordmetric/api.rb', line 5

def initialize(opts={})
  @@opts = FnordMetric.default_options(opts)
  if @@opts[:redis]
    @redis = @@opts.delete :redis
  else
    connect
  end
end

Instance Method Details

#connectObject



14
15
16
# File 'lib/fnordmetric/api.rb', line 14

def connect
  @redis = Redis.connect(:url => @@opts[:redis_url])
end

#disconnectObject



32
33
34
# File 'lib/fnordmetric/api.rb', line 32

def disconnect
  @redis.quit
end

#event(event_data) ⇒ Object



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

def event(event_data)
  begin
    if event_data.is_a?(Hash)
      event_data = event_data.to_json
    else
      JSON.parse(event_data) # void ;)
    end
  rescue JSON::ParserError
    FnordMetric.log("event_lost: can't parse json")
  else
    push_event(get_next_uuid, event_data)
  end
end