Sha256: 419d5a0fb2843db991ce7909c10cfae3f288fdd359be7c3633e8391c3dc4d861

Contents?: true

Size: 620 Bytes

Versions: 20

Compression:

Stored size: 620 Bytes

Contents

module Mutant
  # A mixing to create method object semantics
  module MethodObject

    # Hook called when descendant is extended
    #
    # @param [Module|Class] descendant
    #
    # @return [undefined]
    #
    # @api private
    #
    def self.extended(descendant)
      descendant.class_eval do
        private_class_method :new
      end
    end

    # Run the method object
    #
    # Not aliased to prevent problems from inheritance
    #
    # @return [Objecct]
    #   returns the created object
    #
    # @api private
    #
    def run(*args)
      new(*args)
    end

  end # MethodObject
end # Mutant

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
mutant-0.3.0.beta21 lib/mutant/support/method_object.rb
mutant-0.3.0.beta20 lib/mutant/support/method_object.rb
mutant-0.3.0.beta19 lib/mutant/support/method_object.rb
mutant-0.3.0.beta18 lib/mutant/support/method_object.rb
mutant-0.3.0.beta17 lib/mutant/support/method_object.rb
mutant-0.3.0.beta16 lib/mutant/support/method_object.rb
mutant-0.3.0.beta15 lib/mutant/support/method_object.rb
mutant-0.3.0.beta14 lib/mutant/support/method_object.rb
mutant-0.3.0.beta13 lib/mutant/support/method_object.rb
mutant-0.3.0.beta12 lib/mutant/support/method_object.rb
mutant-0.3.0.beta11 lib/mutant/support/method_object.rb
mutant-0.3.0.beta10 lib/mutant/support/method_object.rb
mutant-0.3.0.beta9 lib/mutant/support/method_object.rb
mutant-0.3.0.beta8 lib/mutant/support/method_object.rb
mutant-0.3.0.beta7 lib/mutant/support/method_object.rb
mutant-0.3.0.beta6 lib/mutant/support/method_object.rb
mutant-0.3.0.beta5 lib/mutant/support/method_object.rb
mutant-0.3.0.beta4 lib/mutant/support/method_object.rb
mutant-0.3.0.beta3 lib/mutant/support/method_object.rb
mutant-0.3.0.beta2 lib/mutant/support/method_object.rb