Module: LogfileInterval::Aggregator::Registrar

Included in:
Base
Defined in:
lib/logfile_interval/aggregator/registrar.rb

Instance Method Summary collapse

Instance Method Details

#aggregator_classesObject



11
12
13
# File 'lib/logfile_interval/aggregator/registrar.rb', line 11

def aggregator_classes
  @@aggregator_classes ||= {}
end

#allObject



27
28
29
# File 'lib/logfile_interval/aggregator/registrar.rb', line 27

def all
  aggregator_classes.keys
end

#exist?(name) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/logfile_interval/aggregator/registrar.rb', line 23

def exist?(name)
  aggregator_classes.include?(name)
end

#inherited(subclass) ⇒ Object



4
5
6
7
8
9
# File 'lib/logfile_interval/aggregator/registrar.rb', line 4

def inherited(subclass)
  name = subclass.to_s
  name = $1 if name =~ /(\w+)$/
  name = name.scan(/[A-Z][a-z]*/).join("_").downcase.to_sym
  aggregator_classes[name] = subclass
end

#klass(name) ⇒ Object



19
20
21
# File 'lib/logfile_interval/aggregator/registrar.rb', line 19

def klass(name)
  aggregator_classes[name]
end

#register_aggregator(name, klass) ⇒ Object



15
16
17
# File 'lib/logfile_interval/aggregator/registrar.rb', line 15

def register_aggregator(name, klass)
  aggregator_classes[name] = klass
end