Sha256: 9c9ceae65084c73eb1e12ac6d42db53c5d4524045da1ed17ea92b8dd4f15a903

Contents?: true

Size: 1.3 KB

Versions: 41

Compression:

Stored size: 1.3 KB

Contents

module RSpec
  module Rails
    module ViewAssigns
      # Assigns a value to an instance variable in the scope of the
      # view being rendered.
      #
      # @example
      #
      #     assign(:widget, stub_model(Widget))
      def assign(key, value)
        _encapsulated_assigns[key] = value
      end

      def view_assigns
        begin
          # TODO: _assigns was deprecated in favor of view_assigns after
          # Rails-3.0.0 was released. Since we are not able to predict when
          # the _assigns/view_assigns patch will be released (I thought it
          # would have been in 3.0.1, but 3.0.1 bypassed this change for a
          # security fix), this bit ensures that we do the right thing without
          # knowing anything about the Rails version we are dealing with.
          #
          # Once that change _is_ released, this can be changed to something
          # that checks for the Rails version when the module is being
          # interpreted, as it was before commit dd0095.
          super.merge(_encapsulated_assigns)
        rescue
          _assigns
        end
      end

      # @api private
      def _assigns
        super.merge(_encapsulated_assigns)
      end

      private

      def _encapsulated_assigns
        @_encapsulated_assigns ||= {}
      end

    end
  end
end

Version data entries

41 entries across 36 versions & 5 rubygems

Version Path
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/rspec-rails-2.13.0/lib/rspec/rails/view_assigns.rb
rspec-rails-2.99.0 lib/rspec/rails/view_assigns.rb
rspec-rails-3.0.0.rc1 lib/rspec/rails/view_assigns.rb
rspec-rails-2.99.0.rc1 lib/rspec/rails/view_assigns.rb
rspec-rails-2.14.2 lib/rspec/rails/view_assigns.rb
rspec-rails-3.0.0.beta2 lib/rspec/rails/view_assigns.rb
rspec-rails-2.99.0.beta2 lib/rspec/rails/view_assigns.rb
rspec-rails-2.14.1 lib/rspec/rails/view_assigns.rb
rspec-rails-3.0.0.beta1 lib/rspec/rails/view_assigns.rb
rspec-rails-2.99.0.beta1 lib/rspec/rails/view_assigns.rb
rspec-rails-2.14.0 lib/rspec/rails/view_assigns.rb
rspec-rails-2.14.0.rc1 lib/rspec/rails/view_assigns.rb
rspec-rails-2.13.2 lib/rspec/rails/view_assigns.rb
rspec-rails-2.13.1 lib/rspec/rails/view_assigns.rb
rspec-rails-2.13.0 lib/rspec/rails/view_assigns.rb
rspec-rails-2.12.2 lib/rspec/rails/view_assigns.rb
sunrise-cms-0.5.0.rc1 vendor/bundle/ruby/1.9.1/gems/rspec-rails-2.10.1/lib/rspec/rails/view_assigns.rb
rspec-rails-2.12.1 lib/rspec/rails/view_assigns.rb
rspec-rails-2.12.0 lib/rspec/rails/view_assigns.rb
rspec-rails-2.11.4 lib/rspec/rails/view_assigns.rb