Sha256: 09db84bb36b588d73552662b34c987714b4677fa9f7dac41ec28a88290a9232b

Contents?: true

Size: 845 Bytes

Versions: 115

Compression:

Stored size: 845 Bytes

Contents

# frozen_string_literal: true

require 'active_support/inflector'
require 'eac_ruby_utils/ruby/on_replace_objects/replace_instance_method'

module EacRubyUtils
  module Ruby
    class OnReplaceObjects
      class ReplaceInstanceMethod
        attr_reader :a_module, :method_new_block, :original_method

        def initialize(a_module, method_name, &method_new_block)
          @a_module = a_module
          @original_method = a_module.instance_method(method_name)
          @method_new_block = method_new_block
        end

        def apply
          a_module.define_method(method_name, &method_new_block)

          self
        end

        def method_name
          original_method.name
        end

        def restore
          a_module.define_method(method_name, original_method)

          self
        end
      end
    end
  end
end

Version data entries

115 entries across 115 versions & 2 rubygems

Version Path
eac_ruby_utils-0.124.0 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.97.2 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_ruby_utils-0.123.0 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_ruby_utils-0.121.0 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_ruby_utils-0.120.0 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.76.1 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.76.0 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.75.2 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_ruby_utils-0.119.2 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.75.1 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.75.0 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_ruby_utils-0.119.1 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.74.1 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.74.0 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.73.0 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_ruby_utils-0.119.0 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.72.0 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_ruby_utils-0.118.1 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_ruby_utils-0.118.0 lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb
eac_tools-0.70.1 sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb