paloma 4.2.1 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/app/views/paloma/_hook.html.erb +13 -13
  3. data/vendor/assets/javascripts/paloma/base_controller.js +8 -0
  4. data/vendor/assets/javascripts/paloma/before_callback_performer.js +69 -0
  5. data/vendor/assets/javascripts/paloma/controller_builder.js +36 -0
  6. data/vendor/assets/javascripts/paloma/controller_class_factory.js +61 -0
  7. data/vendor/assets/javascripts/paloma/engine.js +59 -53
  8. data/vendor/assets/javascripts/paloma/index.js +5 -4
  9. data/vendor/assets/javascripts/paloma/init.js +5 -10
  10. data/vendor/assets/javascripts/paloma/paloma.js +20 -21
  11. metadata +7 -82
  12. data/.gitignore +0 -5
  13. data/Changelog.md +0 -42
  14. data/DEVELOPMENT.md +0 -15
  15. data/Gemfile +0 -2
  16. data/License +0 -22
  17. data/README.md +0 -353
  18. data/TODO.md +0 -1
  19. data/paloma.gemspec +0 -22
  20. data/test_app/.gitignore +0 -15
  21. data/test_app/.rspec +0 -1
  22. data/test_app/Gemfile +0 -5
  23. data/test_app/README.rdoc +0 -261
  24. data/test_app/Rakefile +0 -11
  25. data/test_app/app/assets/images/rails.png +0 -0
  26. data/test_app/app/assets/javascripts/admin/bar.js +0 -2
  27. data/test_app/app/assets/javascripts/application.js +0 -68
  28. data/test_app/app/assets/stylesheets/admin/bar.css +0 -4
  29. data/test_app/app/assets/stylesheets/application.css +0 -13
  30. data/test_app/app/assets/stylesheets/foo.css +0 -4
  31. data/test_app/app/assets/stylesheets/main.css +0 -4
  32. data/test_app/app/assets/stylesheets/multiple_names.css +0 -4
  33. data/test_app/app/controllers/admin/foos_controller.rb +0 -29
  34. data/test_app/app/controllers/application_controller.rb +0 -3
  35. data/test_app/app/controllers/main_controller.rb +0 -111
  36. data/test_app/app/helpers/admin/bar_helper.rb +0 -2
  37. data/test_app/app/helpers/application_helper.rb +0 -2
  38. data/test_app/app/helpers/foo_helper.rb +0 -2
  39. data/test_app/app/helpers/main_helper.rb +0 -2
  40. data/test_app/app/helpers/multiple_names_helper.rb +0 -2
  41. data/test_app/app/mailers/.gitkeep +0 -0
  42. data/test_app/app/models/.gitkeep +0 -0
  43. data/test_app/app/views/layouts/application.html.erb +0 -40
  44. data/test_app/app/views/main/ajax.html.erb +0 -2
  45. data/test_app/config.ru +0 -4
  46. data/test_app/config/application.rb +0 -69
  47. data/test_app/config/boot.rb +0 -6
  48. data/test_app/config/environment.rb +0 -5
  49. data/test_app/config/environments/development.rb +0 -37
  50. data/test_app/config/environments/production.rb +0 -67
  51. data/test_app/config/environments/test.rb +0 -37
  52. data/test_app/config/initializers/backtrace_silencers.rb +0 -7
  53. data/test_app/config/initializers/inflections.rb +0 -15
  54. data/test_app/config/initializers/mime_types.rb +0 -5
  55. data/test_app/config/initializers/secret_token.rb +0 -7
  56. data/test_app/config/initializers/session_store.rb +0 -8
  57. data/test_app/config/initializers/wrap_parameters.rb +0 -14
  58. data/test_app/config/locales/en.yml +0 -5
  59. data/test_app/config/routes.rb +0 -28
  60. data/test_app/db/seeds.rb +0 -7
  61. data/test_app/doc/README_FOR_APP +0 -2
  62. data/test_app/lib/assets/.gitkeep +0 -0
  63. data/test_app/lib/tasks/.gitkeep +0 -0
  64. data/test_app/log/.gitkeep +0 -0
  65. data/test_app/public/404.html +0 -26
  66. data/test_app/public/422.html +0 -26
  67. data/test_app/public/500.html +0 -25
  68. data/test_app/public/favicon.ico +0 -0
  69. data/test_app/public/robots.txt +0 -5
  70. data/test_app/script/rails +0 -6
  71. data/test_app/spec/integration/advanced_spec.rb +0 -64
  72. data/test_app/spec/integration/basic_spec.rb +0 -195
  73. data/test_app/spec/javascripts/controller_factory_spec.js +0 -48
  74. data/test_app/spec/javascripts/router_spec.js +0 -52
  75. data/test_app/spec/javascripts/support/jasmine.yml +0 -20
  76. data/test_app/spec/spec_helper.rb +0 -37
  77. data/test_app/spec/units/controller_spec.rb +0 -109
  78. data/test_app/spec/units/utilities_spec.rb +0 -114
  79. data/test_app/test/fixtures/.gitkeep +0 -0
  80. data/test_app/test/functional/.gitkeep +0 -0
  81. data/test_app/test/integration/.gitkeep +0 -0
  82. data/test_app/test/performance/browsing_test.rb +0 -12
  83. data/test_app/test/test_helper.rb +0 -13
  84. data/test_app/test/unit/.gitkeep +0 -0
  85. data/test_app/vendor/assets/javascripts/.gitkeep +0 -0
  86. data/test_app/vendor/assets/stylesheets/.gitkeep +0 -0
  87. data/test_app/vendor/plugins/.gitkeep +0 -0
  88. data/vendor/assets/javascripts/paloma/controller.js +0 -10
  89. data/vendor/assets/javascripts/paloma/controller_factory.js +0 -55
  90. data/vendor/assets/javascripts/paloma/router.js +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c6d90c6346ffaca96320b8924a984d7b4a09d26b
4
- data.tar.gz: d77644a771b84cfbb6e55ded22be99a7a930ac90
3
+ metadata.gz: 030655d51aa8f111a17d0002899ce798cd19f60f
4
+ data.tar.gz: ba5c00042e5c9e23a5411cb2c771b21d9508e6e7
5
5
  SHA512:
6
- metadata.gz: ebc6f8eafd2f25d3983ee8c253be793da6e2736deebe61fa887a28e9d71250b677f00d74d571f51bed4ddd9af72ebe1aad9c4d4fa97071c0a6572569ff7d5a22
7
- data.tar.gz: 67753deb514e0615089d462cf86130ea85c29b1b23074b3940f7a165d7b3ba38395dc048702c1ebbad7b1cb72305cd800efdbb9579ee0144cd34bb952d202056
6
+ metadata.gz: 3c2beb6388cc40242d18e9f582ec1c66d075968f76e82f333d7bffa66147a18783b678ee3d6b09820a952de08f78576f9b414ee730dcc1a7335013f97e7b602a
7
+ data.tar.gz: ad007e54ebcc05bf241701bb1be0fe356d03bd947923ff10b92561d8cb00b786e4e5306677eaaa186dac88aa1f74fa2f123a3ea0ca2cf2fd4ccbe6d921bdc595
@@ -1,25 +1,25 @@
1
1
  <% id = "#{Time.now.to_i}#{(rand * 1000).ceil}" %>
2
2
 
3
- <div class="js-paloma-hook" data-id="<%= id %>">
3
+ <div class="js-paloma-hook" data-palomaid="<%= id %>">
4
4
  <script type="text/javascript">
5
5
  (function(){
6
- // Do not continue if Paloma not found.
7
- if (window['Paloma'] === undefined) {
8
- return true;
9
- }
10
6
 
7
+ if ( !window['Paloma'] ) return true;
11
8
  Paloma.env = '<%= Rails.env %>';
12
9
 
13
- // Remove any callback details if any
14
- $('.js-paloma-hook[data-id!=' + <%= id %> + ']').remove();
15
-
16
- var request = <%= request.to_json.html_safe %>;
10
+ var id = "<%= id %>",
11
+ request = <%= request.to_json.html_safe %>;
17
12
 
18
13
  Paloma.engine.setRequest({
19
- id: "<%= id %>",
20
- resource: request['resource'],
21
- action: request['action'],
22
- params: request['params']});
14
+ id: id,
15
+ resource: request.resource,
16
+ action: request.action,
17
+ params: request.params
18
+ });
19
+
20
+ var self = document.querySelector("[data-palomaid='" + id + "']");
21
+ if (self) self.parentNode.removeChild(self);
22
+
23
23
  })();
24
24
  </script>
25
25
  </div>
@@ -0,0 +1,8 @@
1
+ Paloma.BaseController = function(params){
2
+ this.params = params;
3
+ };
4
+
5
+ Paloma.BaseController.prototype = {
6
+ before: []
7
+ };
8
+
@@ -0,0 +1,69 @@
1
+ Paloma.BeforeCallbackPerformer = function(controller){
2
+ this.controller = controller;
3
+ this.entries = controller.before;
4
+ this.action = null;
5
+ };
6
+
7
+ Paloma.BeforeCallbackPerformer.prototype = {
8
+
9
+ perform: function(action){
10
+ this.action = action;
11
+ this._executeCallbacks();
12
+ },
13
+
14
+ _executeCallbacks: function(){
15
+ for (var i = 0, n = this._callbacks().length; i < n; i++)
16
+ this._executeCallback( this._callbacks()[i] );
17
+ },
18
+
19
+ _executeCallback: function(name){
20
+ var callback = this.controller[name];
21
+ if (callback) callback.call(this.controller);
22
+ },
23
+
24
+ _callbacks: function(){
25
+ if (this._callbackList) return this._callbackList;
26
+
27
+ this._callbackList = [];
28
+
29
+ for (var i = 0, n = this.entries.length; i < n; i++){
30
+ var entry = this.entries[i];
31
+
32
+ this._callbackList =
33
+ this._callbackList.concat( this._getCallbacksIfForAction(entry) );
34
+ }
35
+
36
+ return this._callbackList;
37
+ },
38
+
39
+ _getCallbacksIfForAction: function(entry){
40
+ var parsedEntry = this._parseEntry(entry);
41
+
42
+ if (
43
+ this._actionIsOn(parsedEntry.actions) ||
44
+ this._allIsOn(parsedEntry.actions)
45
+ )
46
+ return parsedEntry.callbacks;
47
+
48
+ return [];
49
+ },
50
+
51
+ _actionIsOn: function(actions){
52
+ return actions.indexOf(this.action) != -1;
53
+ },
54
+
55
+ _allIsOn: function(actions){
56
+ return actions.indexOf('all') != -1;
57
+ },
58
+
59
+ _parseEntry: function(entry){
60
+ var parts = entry.split('->'),
61
+ data = {actions: [], callbacks: []};
62
+
63
+ if (parts[0]) data.actions = parts[0].trim().split(' ');
64
+ if (parts[1]) data.callbacks = parts[1].trim().split(' ');
65
+
66
+ return data;
67
+ }
68
+
69
+ };
@@ -0,0 +1,36 @@
1
+ Paloma.ControllerBuilder = function(classFactory){
2
+ this.classFactory = classFactory;
3
+ this.options = {};
4
+ };
5
+
6
+ Paloma.ControllerBuilder.prototype = {
7
+
8
+ build: function(options){
9
+ this.options = options;
10
+
11
+ var ControllerClass = this._controllerClass();
12
+ if ( !ControllerClass ) return null;
13
+
14
+ var controller = new ControllerClass( this._buildParams() );
15
+
16
+ controller.controller = this.options.controller;
17
+ controller.action = this.options.action;
18
+
19
+ return controller;
20
+ },
21
+
22
+ _controllerClass: function(){
23
+ return this.classFactory.get( this.options.controller );
24
+ },
25
+
26
+ _buildParams: function(){
27
+ var params = {};
28
+
29
+ for (var k in this.options.params)
30
+ if (this.options.params.hasOwnProperty(k))
31
+ params[k] = this.options.params[k];
32
+
33
+ return params;
34
+ }
35
+
36
+ };
@@ -0,0 +1,61 @@
1
+ Paloma.ControllerClassFactory = function(){
2
+ this._controllers = {};
3
+ this._inheritanceSymbol = '<';
4
+ };
5
+
6
+ Paloma.ControllerClassFactory.prototype = {
7
+
8
+ make: function(controllerAndParent, prototype){
9
+ var parts = this._extractParts(controllerAndParent),
10
+ controller = this._getOrCreate( parts.controller );
11
+
12
+ this._updatePrototype(controller, prototype);
13
+ this._updateParent(controller, parts.parent);
14
+
15
+ return controller;
16
+ },
17
+
18
+ get: function(name){
19
+ return this._controllers[name] || null;
20
+ },
21
+
22
+ _updateParent: function(controller, parent){
23
+ if (!parent) return;
24
+
25
+ var parentClass = this.get(parent);
26
+ if (parentClass) controller.prototype.__proto__ = parentClass.prototype;
27
+ },
28
+
29
+ _updatePrototype: function(controller, newPrototype){
30
+ for (var k in newPrototype)
31
+ if (newPrototype.hasOwnProperty(k))
32
+ controller.prototype[k] = newPrototype[k];
33
+ },
34
+
35
+ _getOrCreate: function(name){
36
+ return this.get(name) || this._create(name);
37
+ },
38
+
39
+ _create: function(name){
40
+ var controller = function(params){
41
+ Paloma.BaseController.call(this, params);
42
+ };
43
+
44
+ controller.prototype.__proto__ = Paloma.BaseController.prototype;
45
+
46
+ this._controllers[name] = controller;
47
+ return controller;
48
+ },
49
+
50
+ _extractParts: function(controllerAndParent){
51
+ var parts = controllerAndParent.split( this._inheritanceSymbol );
52
+
53
+ var controller = parts[0].trim(),
54
+ parent = parts[1];
55
+
56
+ if (parent) parent = parent.trim();
57
+
58
+ return {controller: controller, parent: parent};
59
+ }
60
+
61
+ };
@@ -1,71 +1,77 @@
1
- (function(Paloma){
1
+ Paloma.Engine = function(controllerBuilder){
2
+ this.controllerBuilder = controllerBuilder;
3
+ this._clearRequest();
4
+ };
2
5
 
3
- var Engine = function(config){
4
- this.factory = config.factory;
5
- this._request = null;
6
- };
6
+ Paloma.Engine.prototype = {
7
7
 
8
- Engine.prototype.start = function(){
9
- // Do not execute if there is no request available.
10
- if ( !this._request ) return;
8
+ setRequest: function(options){
9
+ this._request = {
10
+ id: options.id,
11
+ controller: options.resource,
12
+ action: options.action,
13
+ params: options.params,
14
+ executed: false
15
+ };
16
+ },
11
17
 
12
- // Do not execute if already executed.
13
- //
14
- // This happens when using turbolinks,
15
- // if a page using js(false) is rendered
16
- // after a page with executed js, then the
17
- // previous js will be executed again.
18
- if ( this._request.executed ) return;
18
+ hasRequest: function(){
19
+ return this._request != null;
20
+ },
19
21
 
20
- var resource = this._request['controller'],
21
- Controller = this.factory.get(resource);
22
+ lastRequest: function(){
23
+ return this._lastRequest = this._lastRequest || {executed: false};
24
+ },
22
25
 
23
- if (!Controller){
24
- return Paloma.warn('Paloma: undefined controller -> ' + resource);
25
- }
26
+ start: function(){
27
+ if ( this._shouldStop() ) return;
26
28
 
27
- var controller = new Controller( this._request['params'] ),
28
- action = this._request['action'],
29
- params = this._request['params'];
29
+ this._logRequest();
30
+ this._lastRequest = this._request;
30
31
 
31
- if (!controller[action]){
32
- return Paloma.warn('Paloma: undefined action <' + action +
33
- '> for <' + resource + '> controller');
34
- }
32
+ this._executeControllerAction();
33
+ this._clearRequest();
34
+ },
35
35
 
36
+ _executeControllerAction: function(){
37
+ var controller = this._buildController();
38
+ if (!controller) return;
36
39
 
37
- Paloma.log('Paloma: Execute ' + resource + '#' + action + ' with');
38
- Paloma.log(params);
40
+ var callbackPerformer = new Paloma.BeforeCallbackPerformer(controller);
41
+ callbackPerformer.perform( this._request.action );
39
42
 
40
- controller[ this._request['action'] ]();
43
+ var method = controller[ this._request.action ];
44
+ if (method) method.call(controller);
41
45
 
42
- this._request.executed = true;
43
- };
46
+ this._lastRequest.executed = true;
47
+ },
44
48
 
49
+ _buildController: function(){
50
+ return this.controllerBuilder.build({
51
+ controller: this._request.controller,
52
+ action: this._request.action,
53
+ params: this._request.params
54
+ });
55
+ },
45
56
 
46
- //
47
- // options:
48
- // resource
49
- // action
50
- // params
51
- // id
52
- //
53
- Engine.prototype.setRequest = function(options){
54
- this._request = {
55
- id: options.id,
56
- controller: options.resource,
57
- action: options.action,
58
- params: options.params,
59
- executed: false
60
- };
61
- };
57
+ _shouldStop: function(){
58
+ if ( !this.hasRequest() ) return true;
59
+ if ( this._request.id == this.lastRequest().id ) return true;
62
60
 
61
+ return false;
62
+ },
63
63
 
64
- Engine.prototype.getRequest = function(key){
65
- return (!key ? this._request : this._request[key]);
66
- };
64
+ _logRequest: function(){
65
+ Paloma.log(
66
+ 'Paloma: ' + this._request.controller + '#' +
67
+ this._request.action + ' with params:'
68
+ );
67
69
 
70
+ Paloma.log( this._request.params );
71
+ },
68
72
 
69
- Paloma.Engine = Engine;
73
+ _clearRequest: function(){
74
+ this._request = null;
75
+ }
70
76
 
71
- })(window.Paloma);
77
+ };
@@ -1,6 +1,7 @@
1
1
  //= require ./init.js
2
- //= require ./router.js
3
- //= require ./controller.js
4
- //= require ./controller_factory.js
2
+ //= require ./base_controller.js
3
+ //= require ./controller_class_factory.js
4
+ //= require ./before_callback_performer.js
5
+ //= require ./controller_builder.js
5
6
  //= require ./engine.js
6
- //= require ./paloma.js
7
+ //= require ./paloma.js
@@ -18,14 +18,9 @@ else {
18
18
  };
19
19
  }
20
20
 
21
- $(document).ready(function(){
22
- // Do not continue if Paloma not found.
23
- if (window['Paloma'] === undefined) {
24
- if (window['console'] !== undefined) {
25
- console.warn("Paloma not found. Require it in your application.js.");
26
- }
27
- return true;
28
- }
29
21
 
30
- Paloma.engine.start();
31
- });
22
+ if ( !window['Paloma'] ){
23
+ if ( !window['console'] ){
24
+ console.warn("Paloma not found. Require it in your application.js.");
25
+ }
26
+ }
@@ -1,30 +1,29 @@
1
1
  (function(Paloma){
2
2
 
3
- Paloma._router = new Paloma.Router('/');
4
- Paloma._controllerFactory = new Paloma.ControllerFactory(Paloma._router);
5
-
6
- //
7
- // Declare Paloma controllers using this method.
8
- // Will return a new constructor if the no controller with the passed name
9
- // is found, else it will just return the current constructor.
10
- //
11
- Paloma.controller = function(name){
12
- return Paloma._controllerFactory.get(name) ||
13
- Paloma._controllerFactory.make(name);
14
- };
15
-
16
-
17
- Paloma.engine = new Paloma.Engine({factory: Paloma._controllerFactory});
3
+ var classFactory = new Paloma.ControllerClassFactory(),
4
+ controllerBuilder = new Paloma.ControllerBuilder(classFactory),
5
+ engine = new Paloma.Engine(controllerBuilder)
18
6
 
7
+ Paloma._controllerClassFactory = classFactory;
8
+ Paloma._controllerBuilder = controllerBuilder
9
+ Paloma.engine = engine;
19
10
 
20
- Paloma.executeHook = function(){
21
- var $hook = $('.js-paloma-hook:first script:first');
11
+ Paloma.controller = function(name, prototype){
12
+ return classFactory.make(name, prototype);
13
+ };
22
14
 
23
- if ($hook.length == 0){ return; }
15
+ Paloma._executeHook = function(){
16
+ var hook = document.querySelector('.js-paloma-hook script');
17
+ if (hook) eval(hook.innerHTML);
18
+ };
24
19
 
25
- var hook = $hook.html();
26
- eval(hook);
20
+ Paloma.start = function(){
21
+ if ( !engine.hasRequest() ) this._executeHook();
22
+ if ( engine.hasRequest() ) engine.start();
27
23
  };
28
24
 
25
+ Paloma.isExecuted = function(){
26
+ return engine.lastRequest().executed;
27
+ };
29
28
 
30
- })(window.Paloma);
29
+ })(window.Paloma);
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paloma
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.1
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Paragua
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-01 00:00:00.000000000 Z
11
+ date: 2016-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jquery-rails
@@ -17,7 +17,7 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
- type: :runtime
20
+ type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
@@ -142,95 +142,20 @@ executables: []
142
142
  extensions: []
143
143
  extra_rdoc_files: []
144
144
  files:
145
- - ".gitignore"
146
- - Changelog.md
147
- - DEVELOPMENT.md
148
- - Gemfile
149
- - License
150
- - README.md
151
- - TODO.md
152
145
  - app/views/paloma/_hook.html.erb
153
146
  - lib/paloma.rb
154
147
  - lib/paloma/action_controller_extension.rb
155
148
  - lib/paloma/controller.rb
156
149
  - lib/paloma/rails/engine.rb
157
150
  - lib/paloma/utilities.rb
158
- - paloma.gemspec
159
- - test_app/.gitignore
160
- - test_app/.rspec
161
- - test_app/Gemfile
162
- - test_app/README.rdoc
163
- - test_app/Rakefile
164
- - test_app/app/assets/images/rails.png
165
- - test_app/app/assets/javascripts/admin/bar.js
166
- - test_app/app/assets/javascripts/application.js
167
- - test_app/app/assets/stylesheets/admin/bar.css
168
- - test_app/app/assets/stylesheets/application.css
169
- - test_app/app/assets/stylesheets/foo.css
170
- - test_app/app/assets/stylesheets/main.css
171
- - test_app/app/assets/stylesheets/multiple_names.css
172
- - test_app/app/controllers/admin/foos_controller.rb
173
- - test_app/app/controllers/application_controller.rb
174
- - test_app/app/controllers/main_controller.rb
175
- - test_app/app/helpers/admin/bar_helper.rb
176
- - test_app/app/helpers/application_helper.rb
177
- - test_app/app/helpers/foo_helper.rb
178
- - test_app/app/helpers/main_helper.rb
179
- - test_app/app/helpers/multiple_names_helper.rb
180
- - test_app/app/mailers/.gitkeep
181
- - test_app/app/models/.gitkeep
182
- - test_app/app/views/layouts/application.html.erb
183
- - test_app/app/views/main/ajax.html.erb
184
- - test_app/config.ru
185
- - test_app/config/application.rb
186
- - test_app/config/boot.rb
187
- - test_app/config/environment.rb
188
- - test_app/config/environments/development.rb
189
- - test_app/config/environments/production.rb
190
- - test_app/config/environments/test.rb
191
- - test_app/config/initializers/backtrace_silencers.rb
192
- - test_app/config/initializers/inflections.rb
193
- - test_app/config/initializers/mime_types.rb
194
- - test_app/config/initializers/secret_token.rb
195
- - test_app/config/initializers/session_store.rb
196
- - test_app/config/initializers/wrap_parameters.rb
197
- - test_app/config/locales/en.yml
198
- - test_app/config/routes.rb
199
- - test_app/db/seeds.rb
200
- - test_app/doc/README_FOR_APP
201
- - test_app/lib/assets/.gitkeep
202
- - test_app/lib/tasks/.gitkeep
203
- - test_app/log/.gitkeep
204
- - test_app/public/404.html
205
- - test_app/public/422.html
206
- - test_app/public/500.html
207
- - test_app/public/favicon.ico
208
- - test_app/public/robots.txt
209
- - test_app/script/rails
210
- - test_app/spec/integration/advanced_spec.rb
211
- - test_app/spec/integration/basic_spec.rb
212
- - test_app/spec/javascripts/controller_factory_spec.js
213
- - test_app/spec/javascripts/router_spec.js
214
- - test_app/spec/javascripts/support/jasmine.yml
215
- - test_app/spec/spec_helper.rb
216
- - test_app/spec/units/controller_spec.rb
217
- - test_app/spec/units/utilities_spec.rb
218
- - test_app/test/fixtures/.gitkeep
219
- - test_app/test/functional/.gitkeep
220
- - test_app/test/integration/.gitkeep
221
- - test_app/test/performance/browsing_test.rb
222
- - test_app/test/test_helper.rb
223
- - test_app/test/unit/.gitkeep
224
- - test_app/vendor/assets/javascripts/.gitkeep
225
- - test_app/vendor/assets/stylesheets/.gitkeep
226
- - test_app/vendor/plugins/.gitkeep
227
- - vendor/assets/javascripts/paloma/controller.js
228
- - vendor/assets/javascripts/paloma/controller_factory.js
151
+ - vendor/assets/javascripts/paloma/base_controller.js
152
+ - vendor/assets/javascripts/paloma/before_callback_performer.js
153
+ - vendor/assets/javascripts/paloma/controller_builder.js
154
+ - vendor/assets/javascripts/paloma/controller_class_factory.js
229
155
  - vendor/assets/javascripts/paloma/engine.js
230
156
  - vendor/assets/javascripts/paloma/index.js
231
157
  - vendor/assets/javascripts/paloma/init.js
232
158
  - vendor/assets/javascripts/paloma/paloma.js
233
- - vendor/assets/javascripts/paloma/router.js
234
159
  homepage: https://github.com/kbparagua/paloma
235
160
  licenses:
236
161
  - MIT