cacheable_flash 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,10 @@
1
+ 0.3.1 - AUG.22.2012
2
+ * Add specs for non stacking use [Peter Boling]
3
+ * Use stackable_flash/test_helpers instead of reinventing the wheel [Peter Boling]
4
+ * Config now works! [Peter Boling]
5
+ * Update to stackable_flash 0.0.7 (working config) [Peter Boling]
6
+ * default to non stacking [Peter Boling]
7
+
1
8
  0.3.0 - AUG.21.2012
2
9
  - Completed integration with stackable_flash (http://github.com/pboling/stackable_flash)
3
10
  - Test::Unit helpers and Rspec Matchers updated to be stackable
@@ -8,6 +15,7 @@
8
15
  - Allows any data type to be stored in the cookie. Only escapes strings.
9
16
  - Does not convert flash value to string before storing in cookie if value is a number
10
17
  - (v0.2.X converted everything to string)
18
+ - the CacheableFlash::Config class is experimental, and no code uses the config settings yet.
11
19
 
12
20
  0.2.10 - AUG.13.2012
13
21
  - Split test_helpers from rspec_matchers (test_helpers may be useful in TestUnit
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
+ #gem 'stackable_flash', :path => '../stackable_flash'
4
+
3
5
  gemspec
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.rubygems_version = "1.8.24"
24
24
  s.summary = "Render flash messages from a cookie using JavaScript, instead of in your Rails view template"
25
25
 
26
- s.add_runtime_dependency(%q<stackable_flash>, [">= 0.0.4"])
26
+ s.add_runtime_dependency(%q<stackable_flash>, [">= 0.0.7"])
27
27
  s.add_runtime_dependency(%q<json>, [">= 0"])
28
28
  s.add_development_dependency(%q<rails>, ["~> 3.1.3"])
29
29
  s.add_development_dependency(%q<jquery-rails>, [">= 0"])
@@ -10,6 +10,14 @@ module CacheableFlash
10
10
  # For older rails use generator
11
11
  end
12
12
 
13
+ # By default stacking is false, but it can be turned on with:
14
+ # CacheableFlash.configure do |config|
15
+ # config[:stacking] = true
16
+ # config[:append_as] = :br
17
+ # end
18
+ StackableFlash.stacking = false
19
+
20
+ # The configure will override the above default
13
21
  require 'cacheable_flash/config'
14
22
  require 'cacheable_flash/cookie_flash'
15
23
  include CacheableFlash::CookieFlash
@@ -1,3 +1,7 @@
1
+ #####################
2
+ # NOTE: the CacheableFlash::Config class is experimental, and no code uses the config settings yet.
3
+ # So using config values will do nothing as of now.
4
+ # These are ust some ideas of what could be...
1
5
  module CacheableFlash
2
6
  class Config
3
7
 
@@ -6,36 +10,35 @@ module CacheableFlash
6
10
  end
7
11
 
8
12
  DEFAULTS = {
13
+ :stacking => false, # or true if you want auto-magically stacking flashes
9
14
  # Specify how multiple flashes at the same key (e.g. :notice, :errors) should be handled
10
- :append_as => :br, # or :array, :p, :ul, :ol, or a proc or lambda of your own design
15
+ # :append_as is ignored if :stacking is false
16
+ :append_as => :br # or :array, :p, :ul, :ol, or a proc or lambda of your own design
11
17
  }
12
18
 
13
- self.config ||= DEFAULTS
19
+ @config ||= DEFAULTS
14
20
  def self.configure &block
15
- yield @@config
16
- StackableFlash::Config.configure do
17
- if self.config[:append_as].respond_to?(:call)
18
- config[:stack_with_proc] = self.config[:append_as]
19
- else
20
- config[:stack_with_proc] = case self.config[:append_as]
21
- when :br then Proc.new {|arr| arr.join('<br/>') }
22
- when :array then Proc.new {|arr| arr }
23
- when :p then Proc.new {|arr| arr.map! {|x| "<p>#{x}</p>"}.join }
24
- when :ul then Proc.new {|arr| '<ul>' + arr.map! {|x| "<li>#{x}</li>"}.join + '</ul>' }
25
- when :ol then Proc.new {|arr| '<ol>' + arr.map! {|x| "<li>#{x}</li>"}.join + '</ol>' }
21
+ yield @config
22
+ if @config[:stacking]
23
+ StackableFlash.stacking = true
24
+ StackableFlash::Config.configure do
25
+ # by default behave like regular non-stacking flash
26
+ if @config[:append_as].respond_to?(:call)
27
+ @config[:stack_with_proc] = @config[:append_as]
28
+ else
29
+ @config[:stack_with_proc] = case @config[:append_as]
30
+ when :br then Proc.new {|arr| arr.join('<br/>') }
31
+ when :array then Proc.new {|arr| arr }
32
+ when :p then Proc.new {|arr| arr.map! {|x| "<p>#{x}</p>"}.join }
33
+ when :ul then Proc.new {|arr| '<ul>' + arr.map! {|x| "<li>#{x}</li>"}.join + '</ul>' }
34
+ when :ol then Proc.new {|arr| '<ol>' + arr.map! {|x| "<li>#{x}</li>"}.join + '</ol>' }
35
+ end
26
36
  end
27
37
  end
38
+ else
39
+ StackableFlash.stacking = false
28
40
  end
29
41
  end
30
42
 
31
- def self.[](key)
32
- return nil unless key.respond_to?(:to_sym)
33
- CacheableFlash::Config.config[key.to_sym]
34
- end
35
-
36
- def self.method_missing(name, *args)
37
- CacheableFlash[name]
38
- end
39
-
40
43
  end
41
44
  end
@@ -7,10 +7,10 @@ module CacheableFlash
7
7
  if value.kind_of?(String)
8
8
  value = ERB::Util.html_escape(value) unless value.html_safe?
9
9
  end
10
+ skey = key.to_s
10
11
  # This allows any data type to be stored in the cookie; important for using an array as the value with
11
12
  # stackable_flash
12
- skey = key.to_s
13
- if cflash[skey].kind_of?(Array) # Stackable!!!
13
+ if cflash[skey].kind_of?(Array) # Already Stackable!!!
14
14
  if value.kind_of?(Array)
15
15
  cflash[skey] += value # Add the values from the other array, which is already a stackable flash
16
16
  else
@@ -1,33 +1,36 @@
1
- require 'cacheable_flash/test_helpers'
1
+ require 'stackable_flash/test_helpers' # Used in the definition of these matchers
2
+ require 'stackable_flash/rspec_matchers' # Not used here, but for convenience
3
+ require 'cacheable_flash/test_helpers' # Used in the definition of these matchers
2
4
 
3
5
  module CacheableFlash
4
6
  module RspecMatchers
7
+ include StackableFlash::TestHelpers
5
8
  include CacheableFlash::TestHelpers
6
9
  RSpec::Matchers.define :have_flash_cookie do |flash_status, expecting|
7
10
  define_method :has_flash_cookie? do |response|
8
- flash = testable_flash(response)[flash_status]
9
- if flash.kind_of?(Array)
10
- if expecting.kind_of?(Array)
11
- flash == expecting
12
- else
13
- matches = flash.select do |to_check|
14
- to_check == expecting
15
- end
16
- matches.length > 0
17
- end
18
- else
19
- flash == expecting
20
- end
11
+ flash_in_stack(testable_flash(response)[flash_status], expecting)
21
12
  end
22
-
23
13
  match{|response| has_flash_cookie?(response)}
14
+ failure_message_for_should do |actual|
15
+ "expected flash[:#{expected[0]}] to be or include #{expected[1].inspect}, but got #{testable_flash(actual)[expected[0]]}"
16
+ end
17
+ failure_message_for_should_not do |actual|
18
+ "expected flash[:#{expected[0]}] to not be and not include #{expected[1].inspect}, but got #{testable_flash(actual)[expected[0]]}"
19
+ end
20
+ end
24
21
 
22
+ RSpec::Matchers.define :have_cacheable_flash do |flash_status, expecting|
23
+ define_method :has_cacheable_flash? do |response|
24
+ flash_in_stack(testable_flash(response)[flash_status], expecting)
25
+ end
26
+ match{|response| has_cacheable_flash?(response)}
25
27
  failure_message_for_should do |actual|
26
- "expected that flash cookie :#{expected[0]} #{testable_flash(actual)[expected[0]]} would include #{expected[1].inspect}"
28
+ "expected flash[:#{expected[0]}] to be or include #{expected[1].inspect}, but got #{testable_flash(actual)[expected[0]]}"
27
29
  end
28
30
  failure_message_for_should_not do |actual|
29
- "expected that flash cookie :#{expected[0]} #{testable_flash(actual)[expected[0]]} would not include #{expected[1].inspect}"
31
+ "expected flash[:#{expected[0]}] to not be and not include #{expected[1].inspect}, but got #{testable_flash(actual)[expected[0]]}"
30
32
  end
31
33
  end
34
+
32
35
  end
33
36
  end
@@ -1,3 +1,3 @@
1
1
  module CacheableFlash
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -0,0 +1,270 @@
1
+ require 'spec_helper'
2
+
3
+ # Controller specs do not hit the full rails stack, and Middleware is ignored.
4
+ # For this reason testing in the controller must rely on the around filter,
5
+ # even if you are actually using the Middleware in your actual app
6
+ # The DummyController in the dummy app includes CacheableFlash to make the helpers testable as a controller spec.
7
+
8
+ describe ComparisonController do
9
+
10
+ render_views
11
+
12
+ describe "CacheableFlash::TestHelpers" do
13
+ describe "#flash_cookie" do
14
+ describe "not stacking" do
15
+ # This is default, so, as long as other tests don't bleed, should not need to be set
16
+ #before(:each) do
17
+ # CacheableFlash.configure do |config|
18
+ # config[:stacking] = false
19
+ # end
20
+ #end
21
+ it "should handle comparison with hash through keys" do
22
+ get :single_key_hash
23
+ flash_cookie['notice'].should == {'hello' => 'asdf'} # Keys of hashes are always strings on the other side of JSON
24
+ end
25
+ it "should handle comparison with number" do
26
+ get :single_key_number
27
+ flash_cookie['notice'].should == 1
28
+ end
29
+ it "should handle comparison with string" do
30
+ get :single_key_string
31
+ flash_cookie['notice'].should == 'message'
32
+ end
33
+ it "should handle comparison with array" do
34
+ get :single_key_array
35
+ flash_cookie['notice'].should == ['message'] # Because actually set to an array, not because stacking
36
+ end
37
+ end
38
+ describe "stacking" do
39
+ before(:each) do
40
+ CacheableFlash::Config.configure do |config|
41
+ config[:stacking] = true
42
+ end
43
+ end
44
+ after(:each) do
45
+ StackableFlash.stacking = false
46
+ end
47
+ it "should handle comparison with hash through keys" do
48
+ get :single_key_hash
49
+ flash_cookie['notice'].should == [{'hello' => 'asdf'}] # Keys of hashes are always strings on the other side of JSON
50
+ end
51
+ it "should handle comparison with number" do
52
+ get :single_key_number
53
+ flash_cookie['notice'].should == [1]
54
+ end
55
+ it "should handle comparison with string" do
56
+ get :single_key_string
57
+ flash_cookie['notice'].should == ['message'] # flash was set to a string, but comparison is with an array!
58
+ end
59
+ it "should handle comparison with array" do
60
+ get :single_key_array
61
+ flash_cookie['notice'].should == ['message']
62
+ end
63
+ end
64
+ end
65
+ end
66
+
67
+ describe "CacheableFlash::RspecMatchers" do
68
+ describe "have_cacheable_flash" do
69
+ describe "not stacking" do
70
+ # This is default, so, as long as other tests don't bleed, should not need to be set
71
+ #before(:each) do
72
+ # CacheableFlash.configure do |config|
73
+ # config[:stacking] = false
74
+ # end
75
+ #end
76
+ describe "test against string" do
77
+ before(:each) do
78
+ get :single_key_string
79
+ end
80
+ context "#should" do
81
+ it "raises error when not a match" do
82
+ lambda {response.should have_cacheable_flash('notice','not message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
83
+ end
84
+ it "should not raise error when a match" do
85
+ lambda {response.should have_cacheable_flash('notice','message')}.should_not raise_exception
86
+ end
87
+ end
88
+ context "#should_not" do
89
+ it "raises error when a match" do
90
+ lambda {response.should_not have_cacheable_flash('notice','message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
91
+ end
92
+ it "should not raise error when not a match" do
93
+ lambda {response.should_not have_cacheable_flash('notice','not message')}.should_not raise_exception
94
+ end
95
+
96
+ end
97
+ end
98
+ describe "test against array" do
99
+ before(:each) do
100
+ get :single_key_array
101
+ end
102
+ context "#should" do
103
+ it "raises error when not a match" do
104
+ lambda {response.should have_cacheable_flash('notice','not message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
105
+ end
106
+ it "should not raise error when a match" do
107
+ lambda {response.should have_cacheable_flash('notice','message')}.should_not raise_exception
108
+ end
109
+ end
110
+ context "#should_not" do
111
+ it "raises error when a match" do
112
+ lambda {response.should_not have_cacheable_flash('notice','message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
113
+ end
114
+ it "should not raise error when not a match" do
115
+ lambda {response.should_not have_cacheable_flash('notice','not message')}.should_not raise_exception
116
+ end
117
+ end
118
+ end
119
+ describe "test against hash" do
120
+ before(:each) do
121
+ get :single_key_hash
122
+ end
123
+ context "#should" do
124
+ it "raises error when not a match" do
125
+ lambda {response.should have_cacheable_flash('notice','not message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
126
+ end
127
+ it "should not raise error when a match" do
128
+ lambda {response.should have_cacheable_flash('notice',{'hello' => 'asdf'})}.should_not raise_exception
129
+ end
130
+ end
131
+ context "#should_not" do
132
+ it "raises error when a match" do
133
+ lambda {response.should_not have_cacheable_flash('notice',{'hello' => 'asdf'})}.should raise_error RSpec::Expectations::ExpectationNotMetError
134
+ end
135
+ it "should not raise error when not a match" do
136
+ lambda {response.should_not have_cacheable_flash('notice','not message')}.should_not raise_exception
137
+ end
138
+
139
+ end
140
+ end
141
+ describe "test against number" do
142
+ before(:each) do
143
+ get :single_key_number
144
+ end
145
+ context "#should" do
146
+ it "raises error when not a match" do
147
+ lambda {response.should have_cacheable_flash('notice',2)}.should raise_error RSpec::Expectations::ExpectationNotMetError
148
+ end
149
+ it "should not raise error when a match" do
150
+ lambda {response.should have_cacheable_flash('notice',1)}.should_not raise_exception
151
+ end
152
+ end
153
+ context "#should_not" do
154
+ it "raises error when a match" do
155
+ lambda {response.should_not have_cacheable_flash('notice',1)}.should raise_error RSpec::Expectations::ExpectationNotMetError
156
+ end
157
+ it "should not raise error when not a match" do
158
+ lambda {response.should_not have_cacheable_flash('notice',2)}.should_not raise_exception
159
+ end
160
+ end
161
+ end
162
+ end
163
+ describe "stacking" do
164
+ before(:each) do
165
+ CacheableFlash::Config.configure do |config|
166
+ config[:stacking] = true
167
+ end
168
+ end
169
+ after(:each) do
170
+ StackableFlash.stacking = false
171
+ end
172
+ describe "test against string" do
173
+ before(:each) do
174
+ get :single_key_string
175
+ end
176
+ context "#should" do
177
+ it "raises error when not a match" do
178
+ lambda {response.should have_cacheable_flash('notice','not message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
179
+ end
180
+ it "should not raise error when a match" do
181
+ lambda {response.should have_cacheable_flash('notice','message')}.should_not raise_exception
182
+ lambda {response.should have_cacheable_flash('notice',['message'])}.should_not raise_exception
183
+ end
184
+ end
185
+ context "#should_not" do
186
+ it "raises error when a match" do
187
+ lambda {response.should_not have_cacheable_flash('notice','message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
188
+ lambda {response.should_not have_cacheable_flash('notice',['message'])}.should raise_error RSpec::Expectations::ExpectationNotMetError
189
+ end
190
+ it "should not raise error when not a match" do
191
+ lambda {response.should_not have_cacheable_flash('notice','not message')}.should_not raise_exception
192
+ end
193
+
194
+ end
195
+ end
196
+ describe "test against array" do
197
+ before(:each) do
198
+ get :single_key_array
199
+ end
200
+ context "#should" do
201
+ it "raises error when not a match" do
202
+ lambda {response.should have_cacheable_flash('notice',['not message'])}.should raise_error RSpec::Expectations::ExpectationNotMetError
203
+ end
204
+ it "should not raise error when a match" do
205
+ lambda {response.should have_cacheable_flash('notice','message')}.should_not raise_exception
206
+ lambda {response.should have_cacheable_flash('notice',['message'])}.should_not raise_exception
207
+ end
208
+ end
209
+ context "#should_not" do
210
+ it "raises error when a match" do
211
+ lambda {response.should_not have_cacheable_flash('notice','message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
212
+ lambda {response.should_not have_cacheable_flash('notice',['message'])}.should raise_error RSpec::Expectations::ExpectationNotMetError
213
+ end
214
+ it "should not raise error when not a match" do
215
+ lambda {response.should_not have_cacheable_flash('notice','not message')}.should_not raise_exception
216
+ end
217
+ end
218
+ end
219
+ describe "test against hash" do
220
+ before(:each) do
221
+ get :single_key_hash
222
+ end
223
+ context "#should" do
224
+ it "raises error when not a match" do
225
+ lambda {response.should have_cacheable_flash('notice','not message')}.should raise_error RSpec::Expectations::ExpectationNotMetError
226
+ end
227
+ it "should not raise error when a match" do
228
+ lambda {response.should have_cacheable_flash('notice',{'hello' => 'asdf'})}.should_not raise_exception
229
+ lambda {response.should have_cacheable_flash('notice',[{'hello' => 'asdf'}])}.should_not raise_exception
230
+ end
231
+ end
232
+ context "#should_not" do
233
+ it "raises error when a match" do
234
+ lambda {response.should_not have_cacheable_flash('notice',{'hello' => 'asdf'})}.should raise_error RSpec::Expectations::ExpectationNotMetError
235
+ lambda {response.should_not have_cacheable_flash('notice',[{'hello' => 'asdf'}])}.should raise_error RSpec::Expectations::ExpectationNotMetError
236
+ end
237
+ it "should not raise error when not a match" do
238
+ lambda {response.should_not have_cacheable_flash('notice','not message')}.should_not raise_exception
239
+ end
240
+
241
+ end
242
+ end
243
+ describe "test against number" do
244
+ before(:each) do
245
+ get :single_key_number
246
+ end
247
+ context "#should" do
248
+ it "raises error when not a match" do
249
+ lambda {response.should have_cacheable_flash('notice',2)}.should raise_error RSpec::Expectations::ExpectationNotMetError
250
+ end
251
+ it "should not raise error when a match" do
252
+ lambda {response.should have_cacheable_flash('notice',1)}.should_not raise_exception
253
+ lambda {response.should have_cacheable_flash('notice',[1])}.should_not raise_exception
254
+ end
255
+ end
256
+ context "#should_not" do
257
+ it "raises error when a match" do
258
+ lambda {response.should_not have_cacheable_flash('notice',1)}.should raise_error RSpec::Expectations::ExpectationNotMetError
259
+ lambda {response.should_not have_cacheable_flash('notice',[1])}.should raise_error RSpec::Expectations::ExpectationNotMetError
260
+ end
261
+ it "should not raise error when not a match" do
262
+ lambda {response.should_not have_cacheable_flash('notice',2)}.should_not raise_exception
263
+ end
264
+ end
265
+ end
266
+ end
267
+ end
268
+ end
269
+ end
270
+
@@ -1,21 +1,69 @@
1
1
  require 'spec_helper'
2
2
 
3
+ # Controller specs do not hit the full rails stack, and Middleware is ignored.
4
+ # For this reason testing in the controller must rely on the around filter,
5
+ # even if you are actually using the Middleware in your actual app
6
+ # The DummyController in the dummy app includes CacheableFlash to make the helpers testable as a controller spec.
7
+
3
8
  describe DummyController do
4
9
 
5
10
  render_views
6
11
 
7
- before(:each) do
8
- @expected_flash = {
9
- 'errors' => "This is an Error",
10
- 'notice' => "This is a Notice"
11
- }
12
- get :index
13
- end
14
-
15
- describe "TestHelpers" do
16
- it "should assign flashes to cookie" do
17
- response.should have_flash_cookie('errors', @expected_flash['errors'])
18
- response.should have_flash_cookie('notice', @expected_flash['notice'])
12
+ describe "CacheableFlash::TestHelpers" do
13
+ describe "#flash_cookie" do
14
+ describe "not stacking" do
15
+ # This is default, so, as long as other tests don't bleed, should not need to be set
16
+ #before(:each) do
17
+ # CacheableFlash.configure do |config|
18
+ # config[:stacking] = false
19
+ # end
20
+ #end
21
+ it "should handle multiple keys" do
22
+ get :multiple_keys
23
+ flash_cookie['errors'].should == "This is an Error"
24
+ flash_cookie['notice'].should == "This is a Notice"
25
+ end
26
+ it "should handle overriding values" do
27
+ get :override
28
+ flash_cookie['notice'].should_not == "original"
29
+ flash_cookie['notice'].should == "message"
30
+ end
31
+ it "should handle stacking values as concatenations" do
32
+ get :stack
33
+ flash_cookie['notice'].should == "originalmessageanother"
34
+ end
35
+ it "should raise exception when cold booting the flash" do
36
+ lambda { get :cold_boot }.should raise_exception
37
+ end
38
+ end
39
+ describe "stacking" do
40
+ before(:each) do
41
+ CacheableFlash::Config.configure do |config|
42
+ config[:stacking] = true
43
+ end
44
+ end
45
+ after(:each) do
46
+ StackableFlash.stacking = false
47
+ end
48
+ it "should handle multiple keys" do
49
+ get :multiple_keys
50
+ flash_cookie['errors'].should == ["This is an Error"]
51
+ flash_cookie['notice'].should == ["This is a Notice"]
52
+ end
53
+ it "should handle overriding values" do
54
+ get :override
55
+ flash_cookie['notice'].should_not == ["original"]
56
+ flash_cookie['notice'].should == ["message"]
57
+ end
58
+ it "should handle stacking values" do
59
+ get :stack
60
+ flash_cookie['notice'].should == ["original","message","another"]
61
+ end
62
+ it "should handle cold booting the flash" do
63
+ get :cold_boot
64
+ flash_cookie['notice'].should == ["original","message","another"]
65
+ end
66
+ end
19
67
  end
20
68
  end
21
69
 
@@ -0,0 +1,25 @@
1
+ class ComparisonController < ApplicationController
2
+
3
+ include CacheableFlash
4
+
5
+ def single_key_string
6
+ flash[:notice] = 'message'
7
+ render :text => 'Foo'
8
+ end
9
+
10
+ def single_key_array
11
+ flash[:notice] = ['message']
12
+ render :text => 'Foo'
13
+ end
14
+
15
+ def single_key_hash
16
+ flash[:notice] = {:hello => 'asdf'} # NOTE: Keys of hashes are always strings on the other side of JSON
17
+ render :text => 'Foo'
18
+ end
19
+
20
+ def single_key_number
21
+ flash[:notice] = 1
22
+ render :text => 'Foo'
23
+ end
24
+
25
+ end
@@ -1,6 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe DummyController do
4
+ before(:each) do
5
+ CacheableFlash::Config.configure do |config|
6
+ config[:stacking] = true
7
+ end
8
+ end
9
+ after(:each) do
10
+ StackableFlash.stacking = false
11
+ end
4
12
 
5
13
  describe "cookie flash is sticky" do
6
14
  it "should not clear after request" do # because they are only cleared out by javascripts
@@ -55,4 +63,10 @@ describe DummyController do
55
63
  get "/dummy/cold_boot"
56
64
  response.should have_flash_cookie('notice',['original','message','another'])
57
65
  end
66
+
67
+ it "should allow use of have_cacheable_flash matcher" do
68
+ get "/dummy/cold_boot"
69
+ lambda {response.should have_cacheable_flash('notice',['original','message','another'])}.should_not raise_exception
70
+ end
71
+
58
72
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cacheable_flash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -19,7 +19,7 @@ dependencies:
19
19
  requirements:
20
20
  - - ! '>='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.0.4
22
+ version: 0.0.7
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,7 +27,7 @@ dependencies:
27
27
  requirements:
28
28
  - - ! '>='
29
29
  - !ruby/object:Gem::Version
30
- version: 0.0.4
30
+ version: 0.0.7
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: json
33
33
  requirement: !ruby/object:Gem::Requirement
@@ -195,11 +195,13 @@ files:
195
195
  - spec/cacheable_flash/cacheable_flash_spec.rb
196
196
  - spec/cacheable_flash/install_spec.rb
197
197
  - spec/cacheable_flash/test_helpers_spec.rb
198
+ - spec/controllers/comparison_cotroller_spec.rb
198
199
  - spec/controllers/dummy_controller_spec.rb
199
200
  - spec/dummy/Rakefile
200
201
  - spec/dummy/app/assets/javascripts/application.js
201
202
  - spec/dummy/app/assets/stylesheets/application.css
202
203
  - spec/dummy/app/controllers/application_controller.rb
204
+ - spec/dummy/app/controllers/comparison_controller.rb
203
205
  - spec/dummy/app/controllers/dummy_controller.rb
204
206
  - spec/dummy/app/helpers/application_helper.rb
205
207
  - spec/dummy/app/mailers/.gitkeep
@@ -268,11 +270,13 @@ test_files:
268
270
  - spec/cacheable_flash/cacheable_flash_spec.rb
269
271
  - spec/cacheable_flash/install_spec.rb
270
272
  - spec/cacheable_flash/test_helpers_spec.rb
273
+ - spec/controllers/comparison_cotroller_spec.rb
271
274
  - spec/controllers/dummy_controller_spec.rb
272
275
  - spec/dummy/Rakefile
273
276
  - spec/dummy/app/assets/javascripts/application.js
274
277
  - spec/dummy/app/assets/stylesheets/application.css
275
278
  - spec/dummy/app/controllers/application_controller.rb
279
+ - spec/dummy/app/controllers/comparison_controller.rb
276
280
  - spec/dummy/app/controllers/dummy_controller.rb
277
281
  - spec/dummy/app/helpers/application_helper.rb
278
282
  - spec/dummy/app/mailers/.gitkeep