Module: Patched
- Defined in:
- lib/patched.rb,
lib/patched/version.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
"0.0.3"
Class Method Summary collapse
- .included(receiver) ⇒ Object
- .new_refinement(receiver, class_to_refine, &block) ⇒ Object
- .refinements ⇒ Object
Class Method Details
.included(receiver) ⇒ Object
6 7 8 |
# File 'lib/patched.rb', line 6 def self.included(receiver) receiver.extend ClassMethods end |
.new_refinement(receiver, class_to_refine, &block) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/patched.rb', line 14 def self.new_refinement(receiver, class_to_refine, &block) refinement = Module.new refinement.module_eval " refine \#{class_to_refine} do\n \#{block.to_source(strip_enclosure: true, ignore_nested: true)}\n end\n RB\n\n module_name = \"\#{receiver}::\#{class_to_refine}\"\n self.refinements[module_name] = refinement\nend\n", __FILE__, __LINE__ |
.refinements ⇒ Object
10 11 12 |
# File 'lib/patched.rb', line 10 def self.refinements @refinements ||= {} end |