Module: Accidentally::MadHax
- Defined in:
- lib/accidentally/mad_hax.rb
Constant Summary collapse
- @@blacklist =
%w(daemonize display exec exit! fork sleep system syscall what? what ri accidentally accidently)
Class Method Summary collapse
Class Method Details
.find_how(original, target, args = [], &blk) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/accidentally/mad_hax.rb', line 14 def find_how original, target, args = [], &blk let( :f => proc { |m| MethodInvoker.invoke(original, m, args, &blk) }, :candidates => proc { select_candidates(original.methods) } ).in { candidates.inject([]) { |acc, m| v = f(m) acc << "#{m}#{" " + v.block_used if v.block_used}" if v.result == target acc } } end |
.select_candidates(methods) ⇒ Object
10 11 12 |
# File 'lib/accidentally/mad_hax.rb', line 10 def select_candidates methods methods.select { |m| m !~ /(should)|(assert)|(methods)/ && !@@blacklist.include?(m)} end |