cacheable_flash 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -5
  3. data/CHANGELOG +5 -0
  4. data/LICENSE +23 -23
  5. data/README.rdoc +21 -5
  6. data/init.rb +6 -6
  7. data/install.rb +18 -18
  8. data/lib/cacheable_flash.rb +7 -5
  9. data/lib/cacheable_flash/config.rb +3 -1
  10. data/lib/cacheable_flash/engine.rb +10 -7
  11. data/lib/cacheable_flash/middleware.rb +6 -22
  12. data/lib/cacheable_flash/railtie.rb +10 -10
  13. data/lib/cacheable_flash/rspec_matchers.rb +6 -6
  14. data/lib/cacheable_flash/test_helpers.rb +1 -1
  15. data/lib/cacheable_flash/version.rb +3 -3
  16. data/lib/generators/cacheable_flash/install/install_generator.rb +24 -23
  17. data/lib/tasks/cacheable-flash_tasks.rake +4 -4
  18. data/spec/cacheable_flash/cacheable_flash_spec.rb +17 -12
  19. data/spec/cacheable_flash/install_spec.rb +68 -68
  20. data/spec/controllers/controller_test_using_test_unit_spec.rb +28 -0
  21. data/spec/dummy/Rakefile +7 -7
  22. data/spec/dummy/app/assets/javascripts/application.js +15 -15
  23. data/spec/dummy/app/assets/stylesheets/application.css +13 -13
  24. data/spec/dummy/app/controllers/application_controller.rb +3 -3
  25. data/spec/dummy/app/helpers/application_helper.rb +2 -2
  26. data/spec/dummy/app/views/layouts/application.html.erb +14 -14
  27. data/spec/dummy/config.ru +4 -4
  28. data/spec/dummy/config/application.rb +62 -62
  29. data/spec/dummy/config/boot.rb +9 -9
  30. data/spec/dummy/config/database.yml +25 -25
  31. data/spec/dummy/config/environment.rb +5 -5
  32. data/spec/dummy/config/environments/development.rb +39 -39
  33. data/spec/dummy/config/environments/production.rb +67 -67
  34. data/spec/dummy/config/environments/test.rb +39 -39
  35. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -7
  36. data/spec/dummy/config/initializers/inflections.rb +15 -15
  37. data/spec/dummy/config/initializers/mime_types.rb +5 -5
  38. data/spec/dummy/config/initializers/secret_token.rb +7 -7
  39. data/spec/dummy/config/initializers/session_store.rb +8 -8
  40. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -14
  41. data/spec/dummy/config/locales/en.yml +5 -5
  42. data/spec/dummy/public/404.html +26 -26
  43. data/spec/dummy/public/422.html +26 -26
  44. data/spec/dummy/public/500.html +25 -25
  45. data/spec/dummy/script/rails +6 -6
  46. data/spec/js_unit/cookie_test.html +60 -60
  47. data/spec/js_unit/flash_test.html +112 -112
  48. data/tasks/cacheable_flash_tasks.rake +3 -3
  49. data/vendor/assets/javascripts/{flash.js → flash.js.erb} +2 -2
  50. data/vendor/assets/javascripts/jquery.cookie.js +47 -47
  51. metadata +29 -49
@@ -1,26 +1,26 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>The change you wanted was rejected (422)</title>
5
- <style type="text/css">
6
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
- div.dialog {
8
- width: 25em;
9
- padding: 0 4em;
10
- margin: 4em auto 0 auto;
11
- border: 1px solid #ccc;
12
- border-right-color: #999;
13
- border-bottom-color: #999;
14
- }
15
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <!-- This file lives in public/422.html -->
21
- <div class="dialog">
22
- <h1>The change you wanted was rejected.</h1>
23
- <p>Maybe you tried to change something you didn't have access to.</p>
24
- </div>
25
- </body>
26
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -1,25 +1,25 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>We're sorry, but something went wrong (500)</title>
5
- <style type="text/css">
6
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
- div.dialog {
8
- width: 25em;
9
- padding: 0 4em;
10
- margin: 4em auto 0 auto;
11
- border: 1px solid #ccc;
12
- border-right-color: #999;
13
- border-bottom-color: #999;
14
- }
15
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <!-- This file lives in public/500.html -->
21
- <div class="dialog">
22
- <h1>We're sorry, but something went wrong.</h1>
23
- </div>
24
- </body>
25
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
@@ -1,6 +1,6 @@
1
- #!/usr/bin/env ruby
2
- # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
-
4
- APP_PATH = File.expand_path('../../config/application', __FILE__)
5
- require File.expand_path('../../config/boot', __FILE__)
6
- require 'rails/commands'
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -1,60 +1,60 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml">
4
- <head>
5
- <!-- You will need to change this to point to your jsUnitCore.js -->
6
- <script src="http://localhost:3000/jsunit/app/jsUnitCore.js" type="text/javascript"></script>
7
-
8
- <script src="../../javascripts/jquery.js" type="text/javascript"></script>
9
- <script src="../../javascripts/cookie.js" type="text/javascript"></script>
10
-
11
- <script language="javascript" type="text/javascript">
12
- var content;
13
- function setUp() {
14
- content = $('#content');
15
- Cookie.eraseAll();
16
- }
17
-
18
- function tearDown() {
19
- Cookie.eraseAll();
20
- }
21
-
22
- function test_read() {
23
- var expires = new Date();
24
- expires.setYear(expires.getFullYear() + 1);
25
- document.cookie = "foobar=baz; path=/; expires=" + expires.toGMTString();
26
-
27
- assertEquals('baz', Cookie.get('foobar'));
28
- }
29
-
30
- function test_write() {
31
- Cookie.set('foobar', 'baz');
32
- assertEquals("baz", Cookie.get('foobar'));
33
- }
34
-
35
- function test_expire() {
36
- Cookie.set('foobar', 'baz');
37
- Cookie.erase('foobar');
38
- assertNull(Cookie.get('foobar'));
39
- }
40
-
41
- function test_expireAll() {
42
- Cookie.set('foobar', 'baz');
43
- Cookie.set('another', 'cookie');
44
-
45
- Cookie.eraseAll();
46
-
47
- assertNull(Cookie.get('foobar'));
48
- assertNull(Cookie.get('another'));
49
- }
50
-
51
- </script>
52
-
53
- </head>
54
-
55
- <body>
56
- <div id="fixture">
57
- <div id="content"></div>
58
- </div>
59
- </body>
60
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml">
4
+ <head>
5
+ <!-- You will need to change this to point to your jsUnitCore.js -->
6
+ <script src="http://localhost:3000/jsunit/app/jsUnitCore.js" type="text/javascript"></script>
7
+
8
+ <script src="../../javascripts/jquery.js" type="text/javascript"></script>
9
+ <script src="../../javascripts/cookie.js" type="text/javascript"></script>
10
+
11
+ <script language="javascript" type="text/javascript">
12
+ var content;
13
+ function setUp() {
14
+ content = $('#content');
15
+ Cookie.eraseAll();
16
+ }
17
+
18
+ function tearDown() {
19
+ Cookie.eraseAll();
20
+ }
21
+
22
+ function test_read() {
23
+ var expires = new Date();
24
+ expires.setYear(expires.getFullYear() + 1);
25
+ document.cookie = "foobar=baz; path=/; expires=" + expires.toGMTString();
26
+
27
+ assertEquals('baz', Cookie.get('foobar'));
28
+ }
29
+
30
+ function test_write() {
31
+ Cookie.set('foobar', 'baz');
32
+ assertEquals("baz", Cookie.get('foobar'));
33
+ }
34
+
35
+ function test_expire() {
36
+ Cookie.set('foobar', 'baz');
37
+ Cookie.erase('foobar');
38
+ assertNull(Cookie.get('foobar'));
39
+ }
40
+
41
+ function test_expireAll() {
42
+ Cookie.set('foobar', 'baz');
43
+ Cookie.set('another', 'cookie');
44
+
45
+ Cookie.eraseAll();
46
+
47
+ assertNull(Cookie.get('foobar'));
48
+ assertNull(Cookie.get('another'));
49
+ }
50
+
51
+ </script>
52
+
53
+ </head>
54
+
55
+ <body>
56
+ <div id="fixture">
57
+ <div id="content"></div>
58
+ </div>
59
+ </body>
60
+ </html>
@@ -1,112 +1,112 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml">
4
- <head>
5
- <!-- You will need to change this to point to your jsUnitCore.js -->
6
- <script src="http://localhost:3000/jsunit/app/jsUnitCore.js" type="text/javascript"></script>
7
-
8
- <script src="../../javascripts/jquery.js" type="text/javascript"></script>
9
- <script src="../../javascripts/cookie.js" type="text/javascript"></script>
10
- <script src="../../javascripts/json.js" type="text/javascript"></script>
11
- <script src="../../vendor/assets/javascripts/flash.js" type="text/javascript"></script>
12
- <script type="text/javascript">
13
- Include.jsUnitCore();
14
- Include.allProduction();
15
- Include.allCommonTest();
16
- Include.testHelper();
17
- </script>
18
-
19
- <script language="javascript" type="text/javascript">
20
- var content;
21
- function setUp() {
22
- content = $('#content');
23
- content.html("");
24
- Cookie.eraseAll();
25
- }
26
-
27
- function tearDown() {
28
- Cookie.eraseAll();
29
- }
30
-
31
- function test_transferFromCookies_setsFlashData_whenCookieExists() {
32
- var expectedData = {
33
- 'error': "The Error",
34
- 'notice': "The Notice"
35
- };
36
- setUpCookieWithData(expectedData);
37
- Flash.transferFromCookies();
38
- assertHashEquals(expectedData, Flash.data);
39
- }
40
-
41
- function test_transferFromCookies_setsFlashDataToEmptyHash_whenCookieDoesNotExist() {
42
- Flash.transferFromCookies();
43
- assertHashEquals({}, Flash.data);
44
- }
45
-
46
- function test_transferFromCookies_setsFlashDataToEmptyHash_whenCookieIsEmpty() {
47
- setUpCookieWithData("");
48
- Flash.transferFromCookies();
49
- assertHashEquals({}, Flash.data);
50
- }
51
-
52
- function test_transferFromCookies_removeFlashCookie() {
53
- setUpCookieWithData({
54
- 'error': "The Error",
55
- 'notice': "The Notice"
56
- });
57
- Flash.transferFromCookies();
58
- assertNull(Cookie.get("flash"));
59
- }
60
-
61
- // how do I test this??
62
- function test_transferFromCookies_whenValueContainsAPlusSign() {
63
- setUpCookieWithData({
64
- 'notice': "Book+%2B+Gift+Box"
65
- });
66
- Flash.transferFromCookies();
67
- assertEquals("Book + Gift Box", Cookie.get("notice"));
68
- }
69
-
70
- function test_writeDataTo_whenThereIsACookieValue() {
71
- setUpCookieWithData({
72
- 'error': "This+is%20An+Error"
73
- });
74
- Flash.transferFromCookies();
75
- Flash.writeDataTo('error', content);
76
-
77
- assertEquals("This is An Error", content.html());
78
- }
79
-
80
- function test_writeDataTo_whenThereIsNoCookieValue() {
81
- setUpCookieWithData({});
82
- Flash.transferFromCookies();
83
- Flash.writeDataTo('notice', content);
84
-
85
- assertEquals("", content.html());
86
- }
87
-
88
- function test_writeDataTo_whenPassedAnElementId() {
89
- setUpCookieWithData({
90
- 'error': "This+is%20An+Error"
91
- });
92
-
93
- Flash.transferFromCookies();
94
- Flash.writeDataTo('error', '#content');
95
-
96
- assertEquals("This is An Error", content.html());
97
- }
98
-
99
- function setUpCookieWithData(values) {
100
- Cookie.set('flash', JSON.stringify(values));
101
- }
102
-
103
- </script>
104
-
105
- </head>
106
-
107
- <body>
108
- <div id="fixture">
109
- <div id="content"></div>
110
- </div>
111
- </body>
112
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml">
4
+ <head>
5
+ <!-- You will need to change this to point to your jsUnitCore.js -->
6
+ <script src="http://localhost:3000/jsunit/app/jsUnitCore.js" type="text/javascript"></script>
7
+
8
+ <script src="../../javascripts/jquery.js" type="text/javascript"></script>
9
+ <script src="../../javascripts/cookie.js" type="text/javascript"></script>
10
+ <script src="../../javascripts/json.js" type="text/javascript"></script>
11
+ <script src="../../vendor/assets/javascripts/flash.js" type="text/javascript"></script>
12
+ <script type="text/javascript">
13
+ Include.jsUnitCore();
14
+ Include.allProduction();
15
+ Include.allCommonTest();
16
+ Include.testHelper();
17
+ </script>
18
+
19
+ <script language="javascript" type="text/javascript">
20
+ var content;
21
+ function setUp() {
22
+ content = $('#content');
23
+ content.html("");
24
+ Cookie.eraseAll();
25
+ }
26
+
27
+ function tearDown() {
28
+ Cookie.eraseAll();
29
+ }
30
+
31
+ function test_transferFromCookies_setsFlashData_whenCookieExists() {
32
+ var expectedData = {
33
+ 'error': "The Error",
34
+ 'notice': "The Notice"
35
+ };
36
+ setUpCookieWithData(expectedData);
37
+ Flash.transferFromCookies();
38
+ assertHashEquals(expectedData, Flash.data);
39
+ }
40
+
41
+ function test_transferFromCookies_setsFlashDataToEmptyHash_whenCookieDoesNotExist() {
42
+ Flash.transferFromCookies();
43
+ assertHashEquals({}, Flash.data);
44
+ }
45
+
46
+ function test_transferFromCookies_setsFlashDataToEmptyHash_whenCookieIsEmpty() {
47
+ setUpCookieWithData("");
48
+ Flash.transferFromCookies();
49
+ assertHashEquals({}, Flash.data);
50
+ }
51
+
52
+ function test_transferFromCookies_removeFlashCookie() {
53
+ setUpCookieWithData({
54
+ 'error': "The Error",
55
+ 'notice': "The Notice"
56
+ });
57
+ Flash.transferFromCookies();
58
+ assertNull(Cookie.get("flash"));
59
+ }
60
+
61
+ // how do I test this??
62
+ function test_transferFromCookies_whenValueContainsAPlusSign() {
63
+ setUpCookieWithData({
64
+ 'notice': "Book+%2B+Gift+Box"
65
+ });
66
+ Flash.transferFromCookies();
67
+ assertEquals("Book + Gift Box", Cookie.get("notice"));
68
+ }
69
+
70
+ function test_writeDataTo_whenThereIsACookieValue() {
71
+ setUpCookieWithData({
72
+ 'error': "This+is%20An+Error"
73
+ });
74
+ Flash.transferFromCookies();
75
+ Flash.writeDataTo('error', content);
76
+
77
+ assertEquals("This is An Error", content.html());
78
+ }
79
+
80
+ function test_writeDataTo_whenThereIsNoCookieValue() {
81
+ setUpCookieWithData({});
82
+ Flash.transferFromCookies();
83
+ Flash.writeDataTo('notice', content);
84
+
85
+ assertEquals("", content.html());
86
+ }
87
+
88
+ function test_writeDataTo_whenPassedAnElementId() {
89
+ setUpCookieWithData({
90
+ 'error': "This+is%20An+Error"
91
+ });
92
+
93
+ Flash.transferFromCookies();
94
+ Flash.writeDataTo('error', '#content');
95
+
96
+ assertEquals("This is An Error", content.html());
97
+ }
98
+
99
+ function setUpCookieWithData(values) {
100
+ Cookie.set('flash', JSON.stringify(values));
101
+ }
102
+
103
+ </script>
104
+
105
+ </head>
106
+
107
+ <body>
108
+ <div id="fixture">
109
+ <div id="content"></div>
110
+ </div>
111
+ </body>
112
+ </html>