changelog shortlog tags changeset manifest revisions annotate raw

vendor/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb

changeset 16: 01fd3f10ae84
author: moriq@moriq.com
date: Mon Mar 10 10:13:18 2008 +0900 (16 years ago)
permissions: -rw-r--r--
description: add plugins rspec_on_rails
1module Spec
2 module Rails
3 module Example
4 class AssignsHashProxy #:nodoc:
5 def initialize(object)
6 @object = object
7 end
8
9 def [](ivar)
10 if assigns.include?(ivar.to_s)
11 assigns[ivar.to_s]
12 elsif assigns.include?(ivar)
13 assigns[ivar]
14 else
15 nil
16 end
17 end
18
19 def []=(ivar, val)
20 assigns[ivar.to_s] = val
21 end
22
23 def delete(name)
24 assigns.delete(name.to_s)
25 end
26
27 def each(&block)
28 assigns.each &block
29 end
30
31 def has_key?(key)
32 assigns.key?(key.to_s)
33 end
34
35 protected
36 def assigns
37 @object.assigns
38 end
39 end
40 end
41 end
42end