Module: Cautious::SlightlyCautious

Included in:
Cautious
Defined in:
lib/cautious.rb

Instance Method Summary collapse

Instance Method Details

#extended(base) ⇒ Object



110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/cautious.rb', line 110

def extended(base)
  if !base.respond_to? :extended
    if self.const_defined?('ClassMethods')
      base.extend(self::ClassMethods)
    end
    return 
  end
  if base.method(:extended).owner == Module
    base.extend(SlightlyCautious)
  end
  super
end

#included(base) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/cautious.rb', line 89

def included(base)
  self.included_modules.reverse_each do |mod|
    #next unless mod.kind_of? SlightlyCautious
    begin
      mod.included(base)
    rescue NoMethodError
    end
  end
  super
  if base.method(:included).owner == Module
    base.extend(SlightlyCautious)
  end
end

#inherited(base) ⇒ Object



103
104
105
106
107
108
# File 'lib/cautious.rb', line 103

def inherited(base)
  if base.method(:inherited).owner == Class
    base.extend(SlightlyCautious)
  end
  super
end