Module: ContextBuilder
- Defined in:
- lib/context_builder.rb,
lib/context_builder/version.rb,
lib/context_builder/base_class_definer.rb
Defined Under Namespace
Classes: BaseClassDefiner
Constant Summary
collapse
- VERSION =
"1.0.0"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.extended(base_mod) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/context_builder.rb', line 7
def self.extended(base_mod)
base_mod.module_eval do
@__context_attrs = {}
end
orig_included = base_mod.method(:included)
base_mod.define_singleton_method(:included) do |base_class|
BaseClassDefiner.new(base_class).define_all(@__context_attrs)
orig_included.call(base_class)
end
end
|
Instance Method Details
#context_attr(*names, &block) ⇒ Object
19
20
21
22
23
|
# File 'lib/context_builder.rb', line 19
def context_attr(*names, &block)
names.flatten.each do |name|
@__context_attrs[name.to_sym] = block
end
end
|