module Patched

Constants

VERSION

Public Class Methods

included(receiver) click to toggle source
# File lib/patched.rb, line 6
def self.included(receiver)
  receiver.extend ClassMethods
end
new_refinement(receiver, class_to_refine, &block) click to toggle source
# File lib/patched.rb, line 14
  def self.new_refinement(receiver, class_to_refine, &block)
    refinement = Module.new
    refinement.module_eval <<-RB, __FILE__, __LINE__
      refine #{class_to_refine} do
        #{block.to_source(strip_enclosure: true, ignore_nested: true)}
      end
    RB

    module_name = "#{receiver}::#{class_to_refine}"
    self.refinements[module_name] = refinement
  end
refinements() click to toggle source
# File lib/patched.rb, line 10
def self.refinements
  @refinements ||= {}
end