paloma 4.2.1 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/views/paloma/_hook.html.erb +13 -13
- data/vendor/assets/javascripts/paloma/base_controller.js +8 -0
- data/vendor/assets/javascripts/paloma/before_callback_performer.js +69 -0
- data/vendor/assets/javascripts/paloma/controller_builder.js +36 -0
- data/vendor/assets/javascripts/paloma/controller_class_factory.js +61 -0
- data/vendor/assets/javascripts/paloma/engine.js +59 -53
- data/vendor/assets/javascripts/paloma/index.js +5 -4
- data/vendor/assets/javascripts/paloma/init.js +5 -10
- data/vendor/assets/javascripts/paloma/paloma.js +20 -21
- metadata +7 -82
- data/.gitignore +0 -5
- data/Changelog.md +0 -42
- data/DEVELOPMENT.md +0 -15
- data/Gemfile +0 -2
- data/License +0 -22
- data/README.md +0 -353
- data/TODO.md +0 -1
- data/paloma.gemspec +0 -22
- data/test_app/.gitignore +0 -15
- data/test_app/.rspec +0 -1
- data/test_app/Gemfile +0 -5
- data/test_app/README.rdoc +0 -261
- data/test_app/Rakefile +0 -11
- data/test_app/app/assets/images/rails.png +0 -0
- data/test_app/app/assets/javascripts/admin/bar.js +0 -2
- data/test_app/app/assets/javascripts/application.js +0 -68
- data/test_app/app/assets/stylesheets/admin/bar.css +0 -4
- data/test_app/app/assets/stylesheets/application.css +0 -13
- data/test_app/app/assets/stylesheets/foo.css +0 -4
- data/test_app/app/assets/stylesheets/main.css +0 -4
- data/test_app/app/assets/stylesheets/multiple_names.css +0 -4
- data/test_app/app/controllers/admin/foos_controller.rb +0 -29
- data/test_app/app/controllers/application_controller.rb +0 -3
- data/test_app/app/controllers/main_controller.rb +0 -111
- data/test_app/app/helpers/admin/bar_helper.rb +0 -2
- data/test_app/app/helpers/application_helper.rb +0 -2
- data/test_app/app/helpers/foo_helper.rb +0 -2
- data/test_app/app/helpers/main_helper.rb +0 -2
- data/test_app/app/helpers/multiple_names_helper.rb +0 -2
- data/test_app/app/mailers/.gitkeep +0 -0
- data/test_app/app/models/.gitkeep +0 -0
- data/test_app/app/views/layouts/application.html.erb +0 -40
- data/test_app/app/views/main/ajax.html.erb +0 -2
- data/test_app/config.ru +0 -4
- data/test_app/config/application.rb +0 -69
- data/test_app/config/boot.rb +0 -6
- data/test_app/config/environment.rb +0 -5
- data/test_app/config/environments/development.rb +0 -37
- data/test_app/config/environments/production.rb +0 -67
- data/test_app/config/environments/test.rb +0 -37
- data/test_app/config/initializers/backtrace_silencers.rb +0 -7
- data/test_app/config/initializers/inflections.rb +0 -15
- data/test_app/config/initializers/mime_types.rb +0 -5
- data/test_app/config/initializers/secret_token.rb +0 -7
- data/test_app/config/initializers/session_store.rb +0 -8
- data/test_app/config/initializers/wrap_parameters.rb +0 -14
- data/test_app/config/locales/en.yml +0 -5
- data/test_app/config/routes.rb +0 -28
- data/test_app/db/seeds.rb +0 -7
- data/test_app/doc/README_FOR_APP +0 -2
- data/test_app/lib/assets/.gitkeep +0 -0
- data/test_app/lib/tasks/.gitkeep +0 -0
- data/test_app/log/.gitkeep +0 -0
- data/test_app/public/404.html +0 -26
- data/test_app/public/422.html +0 -26
- data/test_app/public/500.html +0 -25
- data/test_app/public/favicon.ico +0 -0
- data/test_app/public/robots.txt +0 -5
- data/test_app/script/rails +0 -6
- data/test_app/spec/integration/advanced_spec.rb +0 -64
- data/test_app/spec/integration/basic_spec.rb +0 -195
- data/test_app/spec/javascripts/controller_factory_spec.js +0 -48
- data/test_app/spec/javascripts/router_spec.js +0 -52
- data/test_app/spec/javascripts/support/jasmine.yml +0 -20
- data/test_app/spec/spec_helper.rb +0 -37
- data/test_app/spec/units/controller_spec.rb +0 -109
- data/test_app/spec/units/utilities_spec.rb +0 -114
- data/test_app/test/fixtures/.gitkeep +0 -0
- data/test_app/test/functional/.gitkeep +0 -0
- data/test_app/test/integration/.gitkeep +0 -0
- data/test_app/test/performance/browsing_test.rb +0 -12
- data/test_app/test/test_helper.rb +0 -13
- data/test_app/test/unit/.gitkeep +0 -0
- data/test_app/vendor/assets/javascripts/.gitkeep +0 -0
- data/test_app/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test_app/vendor/plugins/.gitkeep +0 -0
- data/vendor/assets/javascripts/paloma/controller.js +0 -10
- data/vendor/assets/javascripts/paloma/controller_factory.js +0 -55
- data/vendor/assets/javascripts/paloma/router.js +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 030655d51aa8f111a17d0002899ce798cd19f60f
|
4
|
+
data.tar.gz: ba5c00042e5c9e23a5411cb2c771b21d9508e6e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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-
|
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
|
-
|
14
|
-
|
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:
|
20
|
-
resource: request
|
21
|
-
action: request
|
22
|
-
params: request
|
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,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
|
-
|
1
|
+
Paloma.Engine = function(controllerBuilder){
|
2
|
+
this.controllerBuilder = controllerBuilder;
|
3
|
+
this._clearRequest();
|
4
|
+
};
|
2
5
|
|
3
|
-
|
4
|
-
this.factory = config.factory;
|
5
|
-
this._request = null;
|
6
|
-
};
|
6
|
+
Paloma.Engine.prototype = {
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
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
|
-
|
13
|
-
|
14
|
-
|
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
|
-
|
21
|
-
|
22
|
+
lastRequest: function(){
|
23
|
+
return this._lastRequest = this._lastRequest || {executed: false};
|
24
|
+
},
|
22
25
|
|
23
|
-
|
24
|
-
|
25
|
-
}
|
26
|
+
start: function(){
|
27
|
+
if ( this._shouldStop() ) return;
|
26
28
|
|
27
|
-
|
28
|
-
|
29
|
-
params = this._request['params'];
|
29
|
+
this._logRequest();
|
30
|
+
this._lastRequest = this._request;
|
30
31
|
|
31
|
-
|
32
|
-
|
33
|
-
|
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
|
-
|
38
|
-
|
40
|
+
var callbackPerformer = new Paloma.BeforeCallbackPerformer(controller);
|
41
|
+
callbackPerformer.perform( this._request.action );
|
39
42
|
|
40
|
-
controller[ this._request
|
43
|
+
var method = controller[ this._request.action ];
|
44
|
+
if (method) method.call(controller);
|
41
45
|
|
42
|
-
this.
|
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
|
-
|
48
|
-
|
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
|
-
|
65
|
-
|
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
|
-
|
73
|
+
_clearRequest: function(){
|
74
|
+
this._request = null;
|
75
|
+
}
|
70
76
|
|
71
|
-
}
|
77
|
+
};
|
@@ -1,6 +1,7 @@
|
|
1
1
|
//= require ./init.js
|
2
|
-
//= require ./
|
3
|
-
//= require ./
|
4
|
-
//= require ./
|
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
|
-
|
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
|
-
|
4
|
-
|
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.
|
21
|
-
|
11
|
+
Paloma.controller = function(name, prototype){
|
12
|
+
return classFactory.make(name, prototype);
|
13
|
+
};
|
22
14
|
|
23
|
-
|
15
|
+
Paloma._executeHook = function(){
|
16
|
+
var hook = document.querySelector('.js-paloma-hook script');
|
17
|
+
if (hook) eval(hook.innerHTML);
|
18
|
+
};
|
24
19
|
|
25
|
-
|
26
|
-
|
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
|
+
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:
|
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: :
|
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.
|
159
|
-
-
|
160
|
-
-
|
161
|
-
-
|
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
|