Module: GuardHelpers::MidModClassMethodsHelper::ClassMethods

Defined in:
lib/guard_helpers/mid_mod_class_methods_helper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#handled_methsObject

Returns the value of attribute handled_meths.



16
17
18
# File 'lib/guard_helpers/mid_mod_class_methods_helper.rb', line 16

def handled_meths
  @handled_meths
end

Instance Method Details

#append_features(mod) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/guard_helpers/mid_mod_class_methods_helper.rb', line 24

def append_features(mod)
  mid_mod_class_methods = self
  mid_mod_class_methods.public_instance_methods.each do |meth|

    unless handled_meths.include? meth or meth.match(%r{(before)|(after)|(origin)|(handled_meths)|(append_features)|(^\W+$)})
      handled_meths << meth
      define_method(:"before_#{meth}_after") do |*args|
        before_meth
        send(:"origin_#{meth}", *args)
        after_meth
      end

      alias_method :"origin_#{meth}", :"#{meth}"
      alias_method :"#{meth}", :"before_#{meth}_after"
    end
  end

  super if defined? super
end