Module: Modulla

Defined in:
lib/modulla.rb,
lib/modulla/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



22
23
24
# File 'lib/modulla.rb', line 22

def method_missing(method, *args, &block)
  record_keeper << [method, args, block]
end

Class Method Details

.new(&block) ⇒ Object



4
5
6
# File 'lib/modulla.rb', line 4

def self.new(&block)
  Module.new.extend(self).class_eval(&block)
end

Instance Method Details

#included(klass) ⇒ Object



8
9
10
# File 'lib/modulla.rb', line 8

def included(klass)
  reproduce(klass)
end

#record_keeperObject



18
19
20
# File 'lib/modulla.rb', line 18

def record_keeper
  @record_keeper ||= []
end

#reproduce(klass) ⇒ Object



12
13
14
15
16
# File 'lib/modulla.rb', line 12

def reproduce(klass)
  record_keeper.each do |method, args, block|
    klass.send(method, *args, &block)
  end
end