Module: Interjectable
- Defined in:
- lib/interjectable.rb,
lib/interjectable/version.rb
Constant Summary collapse
- VERSION =
"0.0.2"
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.extended(mod) ⇒ Object
4 5 6 |
# File 'lib/interjectable.rb', line 4 def self.extended(mod) super end |
Instance Method Details
#inject(dependency, &default_block) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/interjectable.rb', line 8 def inject(dependency, &default_block) attr_writer dependency define_method(dependency) do # @dependency ||= instance_eval(&default_block) ivar_name = "@#{dependency}" if instance_variable_defined?(ivar_name) instance_variable_get(ivar_name) else instance_variable_set(ivar_name, instance_eval(&default_block)) end end end |