rails-js 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. metadata +7 -71
  3. data/.gitignore +0 -6
  4. data/.travis.yml +0 -3
  5. data/Gemfile +0 -14
  6. data/Gemfile.lock +0 -127
  7. data/MIT-LICENSE +0 -20
  8. data/README.md +0 -158
  9. data/Rakefile +0 -25
  10. data/VERSION +0 -1
  11. data/app/assets/javascripts/rails.js +0 -327
  12. data/lib/rails/js.rb +0 -8
  13. data/lib/rails/js/engine.rb +0 -10
  14. data/lib/rails/js/version.rb +0 -5
  15. data/lib/rails/js/view_helpers.rb +0 -23
  16. data/rails-js.gemspec +0 -24
  17. data/test/dummy/README.rdoc +0 -28
  18. data/test/dummy/Rakefile +0 -6
  19. data/test/dummy/app/assets/images/.keep +0 -0
  20. data/test/dummy/app/assets/javascripts/application.js +0 -14
  21. data/test/dummy/app/assets/javascripts/testing.js +0 -2
  22. data/test/dummy/app/assets/stylesheets/application.css +0 -15
  23. data/test/dummy/app/controllers/application_controller.rb +0 -5
  24. data/test/dummy/app/controllers/concerns/.keep +0 -0
  25. data/test/dummy/app/controllers/testing_controller.rb +0 -6
  26. data/test/dummy/app/helpers/application_helper.rb +0 -2
  27. data/test/dummy/app/helpers/testing_helper.rb +0 -2
  28. data/test/dummy/app/mailers/.keep +0 -0
  29. data/test/dummy/app/models/.keep +0 -0
  30. data/test/dummy/app/models/concerns/.keep +0 -0
  31. data/test/dummy/app/views/layouts/application.html.erb +0 -15
  32. data/test/dummy/app/views/testing/index.html.erb +0 -0
  33. data/test/dummy/bin/bundle +0 -3
  34. data/test/dummy/bin/rails +0 -4
  35. data/test/dummy/bin/rake +0 -4
  36. data/test/dummy/config.ru +0 -4
  37. data/test/dummy/config/application.rb +0 -22
  38. data/test/dummy/config/boot.rb +0 -5
  39. data/test/dummy/config/database.yml +0 -25
  40. data/test/dummy/config/environment.rb +0 -5
  41. data/test/dummy/config/environments/development.rb +0 -37
  42. data/test/dummy/config/environments/production.rb +0 -83
  43. data/test/dummy/config/environments/test.rb +0 -39
  44. data/test/dummy/config/initializers/assets.rb +0 -3
  45. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  46. data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
  47. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  48. data/test/dummy/config/initializers/inflections.rb +0 -16
  49. data/test/dummy/config/initializers/mime_types.rb +0 -4
  50. data/test/dummy/config/initializers/session_store.rb +0 -3
  51. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  52. data/test/dummy/config/locales/en.yml +0 -23
  53. data/test/dummy/config/routes.rb +0 -4
  54. data/test/dummy/config/secrets.yml +0 -22
  55. data/test/dummy/lib/assets/.keep +0 -0
  56. data/test/dummy/public/404.html +0 -67
  57. data/test/dummy/public/422.html +0 -67
  58. data/test/dummy/public/500.html +0 -66
  59. data/test/dummy/public/favicon.ico +0 -0
  60. data/test/dummy/spec/javascripts/rails-js_spec.js +0 -165
  61. data/test/dummy/spec/javascripts/spec_helper.js +0 -31
  62. data/test/dummy/spec/teaspoon_env.rb +0 -13
  63. data/test/dummy/test/helpers/testing_helper_test.rb +0 -4
  64. data/test/teaspoon_env.rb +0 -24
  65. data/test/test_helper.rb +0 -18
  66. data/test/testing_controller_test.rb +0 -12
@@ -1,22 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key is used for verifying the integrity of signed cookies.
4
- # If you change this key, all old signed cookies will become invalid!
5
-
6
- # Make sure the secret is at least 30 characters and all random,
7
- # no regular words or you'll be exposed to dictionary attacks.
8
- # You can use `rake secret` to generate a secure secret key.
9
-
10
- # Make sure the secrets in this file are kept private
11
- # if you're sharing your code publicly.
12
-
13
- development:
14
- secret_key_base: 78846b64c741c1343375f567793baea08b47c4cc383fca18e7ea3de893e44e13650dc2fc41cbe49b84ea49cb6fb3b208bd0dd205cb9310a0bb00057a49756e8f
15
-
16
- test:
17
- secret_key_base: 122cf3ea286d1336eca8ff19eccdeee09a5b10b3118f9fe236557aa4595a820313bc5dc7f1796c377fd22f685306c9a17a2c06488d946f93152000aa03f669ff
18
-
19
- # Do not keep production secrets in the repository,
20
- # instead read values from the environment.
21
- production:
22
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
File without changes
@@ -1,67 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>The page you were looking for doesn't exist (404)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
14
-
15
- div.dialog {
16
- width: 95%;
17
- max-width: 33em;
18
- margin: 4em auto 0;
19
- }
20
-
21
- div.dialog > div {
22
- border: 1px solid #CCC;
23
- border-right-color: #999;
24
- border-left-color: #999;
25
- border-bottom-color: #BBB;
26
- border-top: #B00100 solid 4px;
27
- border-top-left-radius: 9px;
28
- border-top-right-radius: 9px;
29
- background-color: white;
30
- padding: 7px 12% 0;
31
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
- }
33
-
34
- h1 {
35
- font-size: 100%;
36
- color: #730E15;
37
- line-height: 1.5em;
38
- }
39
-
40
- div.dialog > p {
41
- margin: 0 0 1em;
42
- padding: 1em;
43
- background-color: #F7F7F7;
44
- border: 1px solid #CCC;
45
- border-right-color: #999;
46
- border-left-color: #999;
47
- border-bottom-color: #999;
48
- border-bottom-left-radius: 4px;
49
- border-bottom-right-radius: 4px;
50
- border-top-color: #DADADA;
51
- color: #666;
52
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
- }
54
- </style>
55
- </head>
56
-
57
- <body>
58
- <!-- This file lives in public/404.html -->
59
- <div class="dialog">
60
- <div>
61
- <h1>The page you were looking for doesn't exist.</h1>
62
- <p>You may have mistyped the address or the page may have moved.</p>
63
- </div>
64
- <p>If you are the application owner check the logs for more information.</p>
65
- </div>
66
- </body>
67
- </html>
@@ -1,67 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>The change you wanted was rejected (422)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
14
-
15
- div.dialog {
16
- width: 95%;
17
- max-width: 33em;
18
- margin: 4em auto 0;
19
- }
20
-
21
- div.dialog > div {
22
- border: 1px solid #CCC;
23
- border-right-color: #999;
24
- border-left-color: #999;
25
- border-bottom-color: #BBB;
26
- border-top: #B00100 solid 4px;
27
- border-top-left-radius: 9px;
28
- border-top-right-radius: 9px;
29
- background-color: white;
30
- padding: 7px 12% 0;
31
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
- }
33
-
34
- h1 {
35
- font-size: 100%;
36
- color: #730E15;
37
- line-height: 1.5em;
38
- }
39
-
40
- div.dialog > p {
41
- margin: 0 0 1em;
42
- padding: 1em;
43
- background-color: #F7F7F7;
44
- border: 1px solid #CCC;
45
- border-right-color: #999;
46
- border-left-color: #999;
47
- border-bottom-color: #999;
48
- border-bottom-left-radius: 4px;
49
- border-bottom-right-radius: 4px;
50
- border-top-color: #DADADA;
51
- color: #666;
52
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
- }
54
- </style>
55
- </head>
56
-
57
- <body>
58
- <!-- This file lives in public/422.html -->
59
- <div class="dialog">
60
- <div>
61
- <h1>The change you wanted was rejected.</h1>
62
- <p>Maybe you tried to change something you didn't have access to.</p>
63
- </div>
64
- <p>If you are the application owner check the logs for more information.</p>
65
- </div>
66
- </body>
67
- </html>
@@ -1,66 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>We're sorry, but something went wrong (500)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
14
-
15
- div.dialog {
16
- width: 95%;
17
- max-width: 33em;
18
- margin: 4em auto 0;
19
- }
20
-
21
- div.dialog > div {
22
- border: 1px solid #CCC;
23
- border-right-color: #999;
24
- border-left-color: #999;
25
- border-bottom-color: #BBB;
26
- border-top: #B00100 solid 4px;
27
- border-top-left-radius: 9px;
28
- border-top-right-radius: 9px;
29
- background-color: white;
30
- padding: 7px 12% 0;
31
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
- }
33
-
34
- h1 {
35
- font-size: 100%;
36
- color: #730E15;
37
- line-height: 1.5em;
38
- }
39
-
40
- div.dialog > p {
41
- margin: 0 0 1em;
42
- padding: 1em;
43
- background-color: #F7F7F7;
44
- border: 1px solid #CCC;
45
- border-right-color: #999;
46
- border-left-color: #999;
47
- border-bottom-color: #999;
48
- border-bottom-left-radius: 4px;
49
- border-bottom-right-radius: 4px;
50
- border-top-color: #DADADA;
51
- color: #666;
52
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
- }
54
- </style>
55
- </head>
56
-
57
- <body>
58
- <!-- This file lives in public/500.html -->
59
- <div class="dialog">
60
- <div>
61
- <h1>We're sorry, but something went wrong.</h1>
62
- </div>
63
- <p>If you are the application owner check the logs for more information.</p>
64
- </div>
65
- </body>
66
- </html>
File without changes
@@ -1,165 +0,0 @@
1
-
2
- /*
3
- * Test for rails.js
4
- *
5
- * For more information see rails.js itself
6
- */
7
-
8
- (function() {
9
- describe('rails-js', function() {
10
-
11
- /*
12
- * define all functions spied on
13
- */
14
- var spies = { beforeAll: function() {},
15
- namespaceHook: function() {},
16
- usersIndex: function() {},
17
- entitiesNew: function() {},
18
- adminUsersIndex: function() {},
19
- aHelper: function() {}
20
- };
21
-
22
- beforeEach(function() {
23
-
24
- // Set config normally set by view_helper
25
- Rails.config = {
26
- controller: 'users',
27
- action: 'index'
28
- };
29
-
30
-
31
- /*
32
- * Clean up
33
- */
34
- Rails.clear();
35
-
36
- spyOn(spies, 'beforeAll');
37
- spyOn(spies, 'namespaceHook');
38
- spyOn(spies, 'usersIndex');
39
- spyOn(spies, 'entitiesNew');
40
- spyOn(spies, 'adminUsersIndex');
41
- spyOn(spies, 'aHelper');
42
-
43
- /*
44
- * Create an app
45
- */
46
- Rails.app({
47
- // global helpers
48
- answer: function() {
49
- return 42
50
- }
51
- }, {
52
- // initial data
53
- foo: 'bar'
54
- }, spies.beforeAll);
55
-
56
- /*
57
- * Create a controller
58
- */
59
- Rails.controller('users', {
60
- index: spies.usersIndex,
61
- new: function(h) {
62
- // execute helper
63
- h.aHelper();
64
- }
65
- }, {
66
- aHelper: spies.aHelper
67
- });
68
- });
69
-
70
- it('must be defined', function() {
71
- expect(Rails).toBeDefined();
72
- expect(R).toBeDefined();
73
- });
74
-
75
- it('must handle global variables', function() {
76
- R('a.global.variable', 'foo');
77
-
78
- expect(R('a')).toBeDefined();
79
- expect(R('a.global')).toBeDefined();
80
- expect(R('a.global.variable')).toBe('foo');
81
- });
82
-
83
- it('must be able to execute global helpers', function() {
84
- expect(R.global('answer')).toBe(42);
85
- });
86
-
87
- it('must be able to read initial data', function() {
88
- expect(R('foo')).toBe('bar');
89
- });
90
-
91
- it('must execute beforeAll hook', function() {
92
- Rails.execute();
93
- expect(spies.beforeAll).toHaveBeenCalled();
94
- });
95
-
96
- it('must execute right controller action', function() {
97
- Rails.execute();
98
- expect(spies.usersIndex).toHaveBeenCalled();
99
-
100
- // Change action to users#new
101
- Rails.config.action = 'new';
102
-
103
- // A helper must be called from within users#new
104
- Rails.execute();
105
- expect(spies.aHelper).toHaveBeenCalled();
106
-
107
- // Create entities controller
108
- Rails.controller('entities', { new: spies.entitiesNew });
109
- // Change controller to entities#new
110
- Rails.config.controller = 'entities';
111
-
112
- Rails.execute();
113
- expect(spies.entitiesNew).toHaveBeenCalled();
114
- });
115
-
116
- it('must handle controller with same name but different namespace', function() {
117
- Rails.controller('admin/users', {
118
- index: spies.adminUsersIndex
119
- });
120
-
121
- Rails.config.namespace = 'admin';
122
- Rails.execute();
123
- expect(spies.adminUsersIndex).toHaveBeenCalled();
124
- expect(spies.usersIndex).not.toHaveBeenCalled();
125
- });
126
-
127
- it('must execute foreign helper', function() {
128
- Rails.controller('admin/users', {
129
- index: function() {
130
- R.helper('users', 'aHelper');
131
- }
132
- });
133
-
134
- Rails.config.namespace = 'admin';
135
- Rails.execute();
136
- expect(spies.aHelper).toHaveBeenCalled();
137
- });
138
-
139
- it('must execute foreign action', function() {
140
- Rails.controller('admin/users', {
141
- index: function() {
142
- R.action('users#index');
143
- }
144
- });
145
-
146
- Rails.config.namespace = 'admin';
147
- Rails.execute();
148
- expect(spies.usersIndex).toHaveBeenCalled();
149
- });
150
-
151
- it('must execute namespace hook when in namespace', function() {
152
- // Define namespace with hook
153
- Rails.namespace('admin', spies.namespaceHook);
154
-
155
- // First without namespace
156
- Rails.execute();
157
- expect(spies.namespaceHook).not.toHaveBeenCalled();
158
-
159
- // Now with namespace
160
- Rails.config.namespace = 'admin';
161
- Rails.execute();
162
- expect(spies.namespaceHook).toHaveBeenCalled();
163
- });
164
- });
165
- })();
@@ -1,31 +0,0 @@
1
- // Teaspoon includes some support files, but you can use anything from your own support path too.
2
- // require support/jasmine-jquery-1.7.0
3
- // require support/jasmine-jquery-2.0.0
4
- // require support/sinon
5
- // require support/your-support-file
6
- //
7
- // PhantomJS (Teaspoons default driver) doesn't have support for Function.prototype.bind, which has caused confusion.
8
- // Use this polyfill to avoid the confusion.
9
- //= require support/bind-poly
10
- //
11
- // Deferring execution
12
- // If you're using CommonJS, RequireJS or some other asynchronous library you can defer execution. Call
13
- // Teaspoon.execute() after everything has been loaded. Simple example of a timeout:
14
- //
15
- // Teaspoon.defer = true
16
- // setTimeout(Teaspoon.execute, 1000)
17
- //
18
- // Matching files
19
- // By default Teaspoon will look for files that match _spec.{js,js.coffee,.coffee}. Add a filename_spec.js file in your
20
- // spec path and it'll be included in the default suite automatically. If you want to customize suites, check out the
21
- // configuration in config/initializers/teaspoon.rb
22
- //
23
- // Manifest
24
- // If you'd rather require your spec files manually (to control order for instance) you can disable the suite matcher in
25
- // the configuration and use this file as a manifest.
26
- //
27
- // For more information: http://github.com/modeset/teaspoon
28
- //
29
- // You can require your own javascript files here. By default this will include everything in application, however you
30
- // may get better load performance if you require the specific files that are being used in the spec that tests them.
31
- //= require application
@@ -1,13 +0,0 @@
1
- # Set RAILS_ROOT and load the environment if it's not already loaded.
2
- unless defined?(Rails)
3
- ENV["RAILS_ROOT"] = File.expand_path("../../", __FILE__)
4
- require File.expand_path("../../config/environment", __FILE__)
5
- end
6
-
7
- Teaspoon.configure do |config|
8
-
9
- config.suite do |suite|
10
- suite.use_framework :jasmine, "1.3.1"
11
- suite.matcher = "{spec/javascripts,app/assets}/**/*_spec.{js,js.coffee,coffee}"
12
- end
13
- end
@@ -1,4 +0,0 @@
1
- require 'test_helper'
2
-
3
- class TestingHelperTest < ActionView::TestCase
4
- end