Module: Extree::Branch
- Defined in:
- lib/extree/branch.rb
Constant Summary collapse
- @@redef_index =
0
Instance Method Summary collapse
Instance Method Details
#def!(name, &b) ⇒ Object
5 6 7 |
# File 'lib/extree/branch.rb', line 5 def def! name, &b define_method "#{Seed::BRANCH_METHOD_PREFIX}#{name}", &b end |
#redef!(name, &b) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/extree/branch.rb', line 11 def redef! name, &b @@redef_index = index = @@redef_index.next redefined = "#{Seed::BRANCH_METHOD_PREFIX}#{index}_#{name}" branch_method = "#{Seed::BRANCH_METHOD_PREFIX}#{name}" alias_method redefined, branch_method define_method branch_method do |*a, **na, &bl| b.call redefined, *a, **na, &bl end end |