Sha256: ca66e38e79c8bac4d789058eff6538656642cbee61c94cb69686e57b25901165

Contents?: true

Size: 893 Bytes

Versions: 37

Compression:

Stored size: 893 Bytes

Contents

module Spec
  module Rails
    module Example
      class AssignsHashProxy #:nodoc:
        def initialize(example_group, &block)
          @target = block.call
          @example_group = example_group
        end

        def [](key)
          return false if false == assigns[key] || false == assigns[key.to_s]
          assigns[key] || assigns[key.to_s] || @target.instance_variable_get("@#{key}")
        end

        def []=(key, val)
          @target.instance_variable_set("@#{key}", val)
        end

        def delete(key)
          assigns.delete(key.to_s)
          @target.instance_variable_set("@#{key}", nil)
        end

        def each(&block)
          assigns.each &block
        end

        def has_key?(key)
          assigns.key?(key.to_s)
        end

        protected
        def assigns
          @example_group.orig_assigns
        end
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 9 rubygems

Version Path
cavalle-rspec-rails-1.2.2.0.1 lib/spec/rails/example/assigns_hash_proxy.rb
cavalle-rspec-rails-1.2.2.0.2 lib/spec/rails/example/assigns_hash_proxy.rb
cavalle-rspec-rails-1.2.3.1 lib/spec/rails/example/assigns_hash_proxy.rb
cavalle-rspec-rails-1.2.4.0.1 lib/spec/rails/example/assigns_hash_proxy.rb
dchelimsky-rspec-rails-1.1.99.13 lib/spec/rails/example/assigns_hash_proxy.rb
dchelimsky-rspec-rails-1.1.99.5 lib/spec/rails/example/assigns_hash_proxy.rb
dchelimsky-rspec-rails-1.1.99.6 lib/spec/rails/example/assigns_hash_proxy.rb
dchelimsky-rspec-rails-1.1.99.7 lib/spec/rails/example/assigns_hash_proxy.rb
dchelimsky-rspec-rails-1.1.99.8 lib/spec/rails/example/assigns_hash_proxy.rb
dchelimsky-rspec-rails-1.1.99.9 lib/spec/rails/example/assigns_hash_proxy.rb
mcmire-rspec-rails-1.1.99.9 lib/spec/rails/example/assigns_hash_proxy.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/rspec-rails-1.3.4/lib/spec/rails/example/assigns_hash_proxy.rb
richzhou-rspec-rails-1.3.4 lib/spec/rails/example/assigns_hash_proxy.rb
rspec-rails-1.3.4 lib/spec/rails/example/assigns_hash_proxy.rb
rspec-rails-1.3.3 lib/spec/rails/example/assigns_hash_proxy.rb
rspec-rails-1.3.3.rc lib/spec/rails/example/assigns_hash_proxy.rb
exception2db-0.0.1 test/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb
rspec-rails-w-factory_girl-1.3.2.1 lib/spec/rails/example/assigns_hash_proxy.rb
rspec-rails-w-factory_girl-1.3.2 lib/spec/rails/example/assigns_hash_proxy.rb
rspec-rails-1.3.2 lib/spec/rails/example/assigns_hash_proxy.rb