Module: Opener::Client::ProcessorDefiner::ClassMethods

Defined in:
lib/opener/client/processor_definer.rb

Constant Summary collapse

@@processors =
[]

Instance Method Summary collapse

Instance Method Details

#add_processor(processor) ⇒ Object



11
12
13
# File 'lib/opener/client/processor_definer.rb', line 11

def add_processor(processor)
  @@processors << processor
end

#define_processor(p) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/opener/client/processor_definer.rb', line 25

def define_processor(p)
  klass_name = p.split("-").map(&:camelize).join

  if !const_defined?(klass_name)
    klass = const_set(klass_name,Class.new)
  else
    klass = const_get(klass_name)
  end

  klass.class_eval do
    include Processor
    processor p
  end

  self.add_processor klass
end

#define_processors(*paths) ⇒ Object



19
20
21
22
23
# File 'lib/opener/client/processor_definer.rb', line 19

def define_processors(*paths)
  paths.each do |p|
    define_processor(p)
  end
end

#processorsObject



15
16
17
# File 'lib/opener/client/processor_definer.rb', line 15

def processors
  @@processors
end