Module: Nark

Defined in:
lib/nark.rb,
lib/nark/version.rb,
lib/nark/influxdb_emitter.rb

Defined Under Namespace

Modules: ClassMethods Classes: InfluxDBEmitter

Constant Summary collapse

VERSION =
'0.1.0'

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.emitterObject



53
54
55
56
57
58
59
60
61
62
# File 'lib/nark.rb', line 53

def emitter
  @emitter ||= InfluxDBEmitter.new(
    ENV['INFLUXDB_DATABASE'],
    username: ENV['INFLUXDB_USERNAME'],
    password: ENV['INFLUXDB_PASSWORD'],
    hosts: ENV['INFLUXDB_HOST'],
    port: ENV['INFLUXDB_PORT'],
    use_ssl: ENV['INFLUXDB_USE_SSL']
  )
end

Class Method Details

.configure(&block) ⇒ Object



49
50
51
# File 'lib/nark.rb', line 49

def configure(&block)
  block.call self
end

.included(klass) ⇒ Object



5
6
7
# File 'lib/nark.rb', line 5

def self.included(klass)
  klass.extend ClassMethods
end

Instance Method Details

#collection_name(name = nil) ⇒ Object



21
22
23
24
25
26
# File 'lib/nark.rb', line 21

def collection_name(name = nil)
  @collection_name = name if name
  @collection_name ||= self.class.collection_name

  @collection_name
end

#emit(timestamp: nil) ⇒ Object



14
15
16
17
18
19
# File 'lib/nark.rb', line 14

def emit(timestamp: nil)
  hash = serializable_hash.clone
  Nark.emitter.emit(collection_name, hash, timestamp)

  self
end

#serializable_hash(value = nil) ⇒ Object



9
10
11
12
# File 'lib/nark.rb', line 9

def serializable_hash(value = nil)
  @serializable_hash = value if value
  @serializable_hash
end