Class: Spec::Rails::Example::AssignsHashProxy
- Defined in:
- lib/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb
Overview
:nodoc:
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, val) ⇒ Object
- #delete(key) ⇒ Object
- #each(&block) ⇒ Object
- #has_key?(key) ⇒ Boolean
-
#initialize(example_group, &block) ⇒ AssignsHashProxy
constructor
A new instance of AssignsHashProxy.
Constructor Details
#initialize(example_group, &block) ⇒ AssignsHashProxy
Returns a new instance of AssignsHashProxy.
5 6 7 8 |
# File 'lib/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb', line 5 def initialize(example_group, &block) @target = block.call @example_group = example_group end |
Instance Method Details
#[](key) ⇒ Object
10 11 12 13 |
# File 'lib/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb', line 10 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 |
#[]=(key, val) ⇒ Object
15 16 17 |
# File 'lib/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb', line 15 def []=(key, val) @target.instance_variable_set("@#{key}", val) end |
#delete(key) ⇒ Object
19 20 21 22 |
# File 'lib/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb', line 19 def delete(key) assigns.delete(key.to_s) @target.instance_variable_set("@#{key}", nil) end |
#each(&block) ⇒ Object
24 25 26 |
# File 'lib/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb', line 24 def each(&block) assigns.each &block end |
#has_key?(key) ⇒ Boolean
28 29 30 |
# File 'lib/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb', line 28 def has_key?(key) assigns.key?(key.to_s) end |