Module: Vitals

Defined in:
lib/vitals.rb,
lib/vitals.rb,
lib/vitals/utils.rb,
lib/vitals/version.rb,
lib/vitals/configuration.rb

Defined Under Namespace

Modules: Formats, Integrations, Reporters, Utils Classes: Configuration

Constant Summary collapse

VERSION =
"0.6.0"

Class Method Summary collapse

Class Method Details

.configure! {|@config| ... } ⇒ Object

Yields:

  • (@config)


24
25
26
27
28
29
# File 'lib/vitals.rb', line 24

def self.configure!
  @config = Configuration.new
  yield(@config) if block_given?
  @reporter = @config.reporter
  @reporter.format = @config.build_format
end

.gauge(m, val) ⇒ Object



61
62
63
# File 'lib/vitals.rb', line 61

def self.gauge(m, val)
  reporter.gauge(m, val)
end

.inc(m) ⇒ Object

reporter delegators

hardwired for performance

TODO timing



53
54
55
# File 'lib/vitals.rb', line 53

def self.inc(m)
  reporter.inc(m)
end

.reporterObject



35
36
37
# File 'lib/vitals.rb', line 35

def self.reporter
  @reporter
end

.reporter=(r) ⇒ Object



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

def self.reporter=(r)
  @reporter = r
end

.subscribe!(*modules) ⇒ Object



39
40
41
42
43
44
45
46
# File 'lib/vitals.rb', line 39

def self.subscribe!(*modules)
  # give out a list of subscribers too
  modules.map do |mod|
    require "vitals/integrations/notifications/#{ mod }"
    klass = Object.const_get("Vitals::Integrations::Notifications::#{classify(mod)}")
    klass.subscribe!
  end
end

.timing(m, val) ⇒ Object



57
58
59
# File 'lib/vitals.rb', line 57

def self.timing(m, val)
  reporter.timing(m, val)
end