Module: Pippi::Checks::MyModule

Defined in:
lib/pippi/checks/method_sequence_finder.rb

Instance Method Summary collapse

Instance Method Details

#strip(*args, &blk) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/pippi/checks/method_sequence_finder.rb', line 4

def strip(*args, &blk)
  result = super
  if self.class._pippi_method_call_sequences
    self.class._pippi_method_call_sequences.methods_to_track.each do |track_this|
      result.define_singleton_method(track_this, track_it_proc(track_this))
    end
  end
  result
end

#track_it_proc(method_name) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/pippi/checks/method_sequence_finder.rb', line 14

def track_it_proc(method_name)
  location = caller_locations.find { |c| c.to_s !~ /byebug|lib\/pippi\/checks/ }
  proc do |*args, &blk|
    begin
      self.class._pippi_method_call_sequences.found_sequence(method_name, location)
    rescue NameError
      return super(*args, &blk)
    else
      return super(*args, &blk)
    end
  end
end