Module: Modifiers
- Defined in:
- lib/modifiers.rb,
lib/modifiers/query.rb,
lib/modifiers/command.rb,
lib/modifiers/version.rb,
lib/modifiers/memoized.rb,
lib/modifiers/deprecated.rb,
lib/modifiers/modification.rb,
lib/modifiers/define_modifier.rb,
lib/modifiers/method_invocation.rb
Defined Under Namespace
Classes: MethodInvocation, Modification
Constant Summary collapse
- VERSION =
'0.0.1'
Class Method Summary collapse
Class Method Details
.define_modifier(name, &block) ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/modifiers/define_modifier.rb', line 4 module_function def define_modifier(name, &block) define_method(name) do |sym| mod = Modification.new(klass: self, method: sym) define_method(sym) { |*args| mod.call(self, *args, &block) } send(mod.original_visibility, sym) end end |