Advertisement
Guest User

Untitled

a guest
May 8th, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.70 KB | None | 0 0
  1. module Pussy
  2.   def self.m_func(name)
  3.     meth = instance_method name
  4.     define_singleton_method meth.name, meth
  5.  
  6.     @__m_func_includes_list__ = (@__m_func_includes_list__ || []) << meth
  7.   end
  8.  
  9.   def self.included(mod)
  10.     @__m_func_includes_list__.each do |m_func|
  11.       # todo add duplication for m_func
  12.       mod.send :private, m_func.name
  13.     end
  14.  
  15.     super
  16.   end
  17.  
  18.   def show
  19.     p '-.-'
  20.   end; m_func :show
  21.  
  22.   def fill_in
  23.     p 'oh, you!'
  24.   end; m_func :fill_in
  25. end
  26.  
  27. class Women
  28.   include Pussy
  29.  
  30.   def do_job
  31.     show
  32.     fill_in
  33.   end
  34. end
  35.  
  36. Pussy.show
  37. Women.new.do_job
  38.  
  39. begin
  40.   Women.new.show
  41. rescue => e
  42.   puts 'PUSSY NOT ALLOWED, THE REASON IS --> ' + e.message
  43. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement