Sha256: f315c71ff0fa07a0fe52108d600b0e8503ce4912961343a82bef2207f6bd7b71

Contents?: true

Size: 994 Bytes

Versions: 22

Compression:

Stored size: 994 Bytes

Contents

module RR
  module DoubleDefinitions
    module Strategies
      class Strategy
        attr_reader :double_definition_create, :definition, :method_name, :args, :handler
        include Space::Reader

        def initialize(double_definition_create)
          @double_definition_create = double_definition_create
        end
        
        def call(definition, method_name, args, handler)
          @definition, @method_name, @args, @handler = definition, method_name, args, handler
          do_call
        end

        def verify_subject(subject)
        end  

        protected
        def do_call
          raise NotImplementedError
        end

        def permissive_argument
          if args.empty?
            definition.with_any_args
          else
            definition.with(*args)
          end
        end

        def reimplementation
          definition.returns(&handler)
        end

        def subject
          definition.subject
        end
      end
    end
  end
end

Version data entries

22 entries across 18 versions & 5 rubygems

Version Path
bitclust-core-0.5.3 vendor/bundle/ruby/1.9.1/gems/bitclust-core-0.5.3/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy.rb
bitclust-core-0.5.3 vendor/bundle/ruby/1.9.1/gems/bitclust-core-0.5.3/vendor/bundle/ruby/1.9.1/gems/bitclust-core-0.5.1/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy.rb
bitclust-core-0.5.3 vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy.rb
bitclust-core-0.5.3 vendor/bundle/ruby/1.9.1/gems/bitclust-core-0.5.1/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy.rb
bitclust-core-0.5.2 vendor/bundle/ruby/1.9.1/gems/bitclust-core-0.5.1/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy.rb
bitclust-core-0.5.2 vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy.rb
bitclust-core-0.5.1 vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy.rb
mcmire-rr-1.0.5.rc1 lib/rr/double_definitions/strategies/strategy.rb
messagebus_ruby_api-0.4.7 spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
messagebus_ruby_api-0.4.4 spec/ruby/1.9.1/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
rr-1.0.4 lib/rr/double_definitions/strategies/strategy.rb
rr-1.0.3 lib/rr/double_definitions/strategies/strategy.rb
vim-jar-0.1.2.0001 bundler/ruby/1.8/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
vim-jar-0.1.2 bundler/ruby/1.8/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
vim-jar-0.1.1 bundler/ruby/1.8/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
vim-jar-0.1.0 bundler/ruby/1.8/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
vim-jar-0.0.3 bundler/ruby/1.8/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
vim-jar-0.0.2 bundler/ruby/1.8/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
vim-jar-0.0.1 bundler/ruby/1.8/gems/rr-1.0.2/lib/rr/double_definitions/strategies/strategy.rb
rr-1.0.2 lib/rr/double_definitions/strategies/strategy.rb