paloma 3.0.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/Changelog.md +7 -1
- data/README.md +71 -70
- data/lib/paloma/action_controller_extension.rb +13 -1
- data/paloma.gemspec +2 -2
- data/test_app/app/assets/javascripts/application.js +11 -1
- data/test_app/app/assets/stylesheets/multiple_names.css +4 -0
- data/test_app/app/controllers/main_controller.rb +20 -0
- data/test_app/app/controllers/multiple_names_controller.rb +7 -0
- data/test_app/app/helpers/multiple_names_helper.rb +2 -0
- data/test_app/config/routes.rb +11 -1
- data/test_app/spec/integration/main_spec.rb +48 -1
- data/vendor/assets/javascripts/paloma/engine.js +8 -4
- metadata +10 -25
- data/test_app/app/assets/javascripts/foo.js +0 -2
- data/test_app/app/assets/javascripts/main.js +0 -2
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZmNlOWQ5NmY4NDIyMmNkNzllNDlmMTNjZDEyZWYzODBhMTU2YzAxYg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OGI2NDc5ODAzM2YyNmVjMWIyMTUyZGJjN2Y3OTVkYTM0YzM4MGYwMg==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZmI5NTFiZmU1ZTQ0ZTI2NTUyZTcxM2NlMDZkOTAyMDQzM2IzZWM1NDNhMzdm
|
10
|
+
MzRlYmZmMGU1OGQ4NTk1Y2Y2N2FhNGY3NjlmZTk3OTQ5ZThiMDhiNmEzOWIy
|
11
|
+
Yzk2MDU1YjAzYmJhNzZlNTM0MDQ5ZTIwMThkOWM1YWIzZjBjNGQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
Y2QzMjUwZGMwNTNlYTQ3YTU3NWVlYTM1ODBjZmY5MjQyNGM2NjY0NDVlN2U0
|
14
|
+
MGMwOGJiMTQwOTc2MmYyYzQxNmUwMWQ5YjNjNjgyZjFiMDU3NGYzYWFiYzJm
|
15
|
+
NDUxODBkOWI0ZTQ5ZTA1NDNhZWNiMDNjNzcxNjdlYmU0YWM2Y2Y=
|
data/Changelog.md
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## Version 3.0.1
|
4
|
+
* Bug Fix: Can't handle Rails controller with Multi-word name.
|
5
|
+
* Bug Fix: Paloma Engine is halting when a warning is encountered.
|
6
|
+
* Don't create Paloma request if rendering js, json, xml, or file.
|
7
|
+
|
8
|
+
|
3
9
|
## Version 3.0.0
|
4
|
-
* Rewrite Initial Release
|
10
|
+
* Rewrite Initial Release
|
data/README.md
CHANGED
@@ -1,14 +1,24 @@
|
|
1
1
|
# Paloma
|
2
2
|
|
3
|
+
**This README is for Paloma 3 only.
|
4
|
+
For version 2 README please go [here](https://github.com/kbparagua/paloma/blob/2.0/README.md).**
|
5
|
+
|
3
6
|
|
4
7
|
## What's New?
|
5
|
-
Paloma
|
8
|
+
Paloma 3 is almost a complete rewrite of the old version.
|
9
|
+
|
10
|
+
It is now simpler and more flexible. The old callback thingy paradigm is replaced by a `Router` and `Controller` layer for better abstraction. Generators are also removed, so programmers need not to follow specific directory structure, unlike in the old versions.
|
11
|
+
|
12
|
+
Previously, there are generators that create Paloma files, and these files are written in vanilla javascript. Because of that there are some users who are requesting for coffeescript setup. Now since there are no generated files programmers can write their code either by using vanilla javascript or **coffeescript**. Yay!
|
13
|
+
|
14
|
+
### Controller and Router
|
15
|
+
The new paradigm is patterned after Rails Controller and Routes, so it is easier to grasp than the old callback paradigm. Basically, you have a Paloma Controller that is responsible for processing requests made from Rails Controller. While the Router is responsible for telling what Paloma Controller handles what Rails Controller, or what Paloma Controller's action handles what Rails Controller's action.
|
16
|
+
|
6
17
|
|
7
|
-
|
18
|
+
### How about Model and View?
|
8
19
|
|
9
|
-
|
20
|
+
It is tempting to convert Paloma 3 to a full-blown MVC or MVP (or whatever) framework. But I've decided to keep it simple and just provide a Controller component as way to execute a specific javascript code per Rails Controller action and give developers freedom on how to handle each action. So you can still have your own Model and View components and just use them in your Paloma Controllers, since a controller is just a middle-man.
|
10
21
|
|
11
|
-
**Basically, Paloma now provides a Controller for your javascript!**
|
12
22
|
|
13
23
|
## Advantages
|
14
24
|
* Choose what specific javascript code to run per page.
|
@@ -22,7 +32,7 @@ Paloma controller.
|
|
22
32
|
```javascript
|
23
33
|
var UsersController = Paloma.controller('Users');
|
24
34
|
|
25
|
-
// Executes when Rails User#new is
|
35
|
+
// Executes when Rails User#new is executed.
|
26
36
|
UsersController.prototype.new = function(){
|
27
37
|
alert('Hello Sexy User!' );
|
28
38
|
};
|
@@ -33,6 +43,7 @@ The Rails controller `app/controllers/users_controller.rb`:
|
|
33
43
|
```ruby
|
34
44
|
def UsersController < ApplicationController
|
35
45
|
def new
|
46
|
+
# a Paloma request will automatically be created.
|
36
47
|
@user = User.new
|
37
48
|
end
|
38
49
|
end
|
@@ -40,87 +51,45 @@ end
|
|
40
51
|
|
41
52
|
That's it! Simply Sexy!
|
42
53
|
|
43
|
-
Minimum Requirements
|
44
|
-
-
|
54
|
+
## Minimum Requirements
|
45
55
|
* jQuery 1.7 or higher
|
46
56
|
* Rails 3.1 or higher
|
47
57
|
|
48
58
|
|
49
59
|
## Install
|
50
60
|
|
51
|
-
Without bundler:
|
52
|
-
|
53
|
-
|
54
|
-
```
|
61
|
+
* Without bundler: `sudo gem install paloma`.
|
62
|
+
* With bundler, add this to your Gemfile: `gem 'paloma'`
|
63
|
+
* Require `paloma` in your `application.js`: `//= require paloma`
|
55
64
|
|
56
|
-
With bundler, add this to your Gemfile:
|
57
|
-
```
|
58
|
-
gem 'paloma'
|
59
|
-
```
|
60
65
|
|
66
|
+
## Controllers
|
61
67
|
|
62
|
-
|
63
|
-
```
|
64
|
-
//= require paloma
|
65
|
-
```
|
66
|
-
|
67
|
-
|
68
|
-
## Router
|
69
|
-
|
70
|
-
Router is responsible for mapping Rails controller/action to its equivalent Paloma controller/action.
|
68
|
+
Controllers are just classes that handle requests made by Rails Controllers. Each Rails Controller's action will be mapped to a specific Paloma Controller's action.
|
71
69
|
|
72
|
-
By default all Rails controller/action will be mapped with a Paloma controller/action with the same resource name (controller name without the `Controller` suffix).
|
73
70
|
|
74
|
-
|
75
|
-
* Response from `UsersController#new` will be mapped to `Users` Paloma controller and execute its `new` method.
|
71
|
+
### Creating a Controller
|
76
72
|
|
77
|
-
|
78
|
-
|
79
|
-
If you want to use a different Paloma Controller for a specific Rails controller, you can do the following:
|
80
|
-
|
81
|
-
```javascript
|
82
|
-
// Instead of mapping Rails UsersController to Paloma Users
|
83
|
-
// it will be mapped to AdminUsers.
|
84
|
-
Paloma.router.resource('Users', {controller: 'AdminUsers'});
|
85
|
-
```
|
86
|
-
|
87
|
-
### Redirecting
|
88
|
-
|
89
|
-
You can also redirect an action if you want it to be handled by a different method.
|
73
|
+
A Controller constructor is created or accessed, if it already exists, using `Paloma.controller()` method.
|
90
74
|
|
91
75
|
```javascript
|
92
|
-
|
93
|
-
// `Registrations#signUp`.
|
94
|
-
Paloma.router.redirect('Users#new', {to: 'Registrations#signUp');
|
95
|
-
```
|
96
|
-
|
97
|
-
## Controller
|
98
|
-
|
99
|
-
Controller handles responses from Rails. A new controller instance is created by Paloma for every Rails controller/action that is executed.
|
100
|
-
|
101
|
-
### Creating Controller
|
102
|
-
|
103
|
-
A Controller is created or accessed (if already existing) using:
|
104
|
-
|
105
|
-
```javascript
|
106
|
-
Paloma.controller('ControllerName');
|
76
|
+
var ArticlesController = Paloma.controller('Articles');
|
107
77
|
```
|
108
78
|
|
109
|
-
It
|
79
|
+
It will return the constructor function of your controller.
|
110
80
|
|
111
81
|
|
112
|
-
###
|
113
|
-
|
114
|
-
Add instance methods to you Controller constructor to handle actions.
|
82
|
+
### Handling Actions
|
115
83
|
|
84
|
+
Every time a request to Paloma is made (A Rails Controller action is executed), an instance of a Paloma controller is created and a method responsible for the request will be invoked.
|
85
|
+
|
116
86
|
```javascript
|
117
|
-
var ArticlesController = Paloma.controller('
|
87
|
+
var ArticlesController = Paloma.controller('Articles');
|
118
88
|
|
119
89
|
ArticlesController.prototype.new = function(){
|
120
90
|
// Handle new articles
|
121
91
|
};
|
122
92
|
|
123
|
-
|
124
93
|
ArticlesController.prototype.edit = function(){
|
125
94
|
// Handle edit articles
|
126
95
|
};
|
@@ -128,7 +97,7 @@ ArticlesController.prototype.edit = function(){
|
|
128
97
|
|
129
98
|
## Passing Parameters
|
130
99
|
|
131
|
-
You can also pass parameters to Paloma by calling `js` before render in your Rails controller. You can access the parameters on your Paloma
|
100
|
+
You can also pass parameters to a Paloma Controller by calling `js` **before** render in your Rails controller. You can access the parameters on your Paloma Controller using `this.params` object.
|
132
101
|
|
133
102
|
**Example:**
|
134
103
|
|
@@ -145,7 +114,6 @@ end
|
|
145
114
|
Paloma controller.
|
146
115
|
|
147
116
|
```javascript
|
148
|
-
|
149
117
|
var UsersController = Paloma.controller('Users');
|
150
118
|
|
151
119
|
UsersController.prototype.destroy = function(){
|
@@ -153,9 +121,9 @@ UsersController.prototype.destroy = function(){
|
|
153
121
|
};
|
154
122
|
```
|
155
123
|
|
156
|
-
## Preventing Paloma
|
124
|
+
## Preventing Paloma Execution
|
157
125
|
|
158
|
-
If you want to
|
126
|
+
If you want to Paloma not to execute in a specific Rails Controller action you need to pass `false` as the Paloma parameter.
|
159
127
|
|
160
128
|
```ruby
|
161
129
|
def edit
|
@@ -166,26 +134,59 @@ end
|
|
166
134
|
|
167
135
|
## Execution Chains
|
168
136
|
|
169
|
-
|
137
|
+
A Paloma request is created every time a Rails Controller action is executed. All requests will be recorded until a render action is triggered, and all Paloma requests will be processed following FIFO (First In, First Out) method.
|
170
138
|
|
171
139
|
**Example:**
|
172
140
|
|
173
141
|
```ruby
|
174
142
|
def first_action
|
143
|
+
# Paloma request will be created
|
175
144
|
redirect_to second_action_path
|
176
145
|
end
|
177
146
|
|
178
147
|
def second_action
|
148
|
+
# Paloma request will be created
|
179
149
|
redirect_to third_action_path
|
180
150
|
end
|
181
151
|
|
182
152
|
def third_action
|
153
|
+
# Paloma request will be created
|
183
154
|
render :template => 'third_action_view'
|
184
155
|
end
|
185
156
|
```
|
186
157
|
|
187
|
-
|
158
|
+
When the `third_action` renders its response, Paloma will process all the request starting from `first_action` up to `third_action`. So, Paloma Controller actions responsible for those 3 Rails actions will be executed.
|
159
|
+
|
160
|
+
## Router
|
161
|
+
|
162
|
+
Router is responsible for mapping Rails Controller/action to its equivalent Paloma Controller/action.
|
163
|
+
|
164
|
+
By default all Rails Controller will be mapped with a Paloma Controller with the same resource name (controller name without the `Controller` suffix).
|
165
|
+
|
166
|
+
Example:
|
167
|
+
* Requests from `UsersController#new` will be mapped to Paloma Controller named `Users` with its `new` method.
|
168
|
+
|
169
|
+
If you have no problem with the default behavior, you don't need to write Router stuff in your code.
|
170
|
+
|
171
|
+
### Changing Controller
|
172
|
+
|
173
|
+
If you want to use a different Paloma Controller for a specific Rails Controller, you can do the following:
|
174
|
+
|
175
|
+
```javascript
|
176
|
+
// Instead of mapping Rails UsersController to Paloma Users Controller
|
177
|
+
// it will be mapped to AdminUsers.
|
178
|
+
Paloma.router.resource('Users', {controller: 'AdminUsers'});
|
179
|
+
```
|
180
|
+
|
181
|
+
### Redirecting
|
182
|
+
|
183
|
+
You can also redirect an action if you want it to be handled by a different method.
|
188
184
|
|
185
|
+
```javascript
|
186
|
+
// Instead of executing Paloma's `Users#new` it will execute
|
187
|
+
// `Registrations#signUp`.
|
188
|
+
Paloma.router.redirect('Users#new', {to: 'Registrations#signUp');
|
189
|
+
```
|
189
190
|
|
190
191
|
## Gotchas
|
191
192
|
|
@@ -196,7 +197,7 @@ For example: `render "something.js.erb"`
|
|
196
197
|
|
197
198
|
## Where to put code?
|
198
199
|
|
199
|
-
Again, Paloma is now flexible and doesn't force developers to follow specific
|
200
|
-
You have the freedom to create controllers and routes anywhere in your
|
200
|
+
Again, Paloma is now flexible and doesn't force developers to follow specific directory structure.
|
201
|
+
You have the freedom to create controllers and routes anywhere in your application.
|
201
202
|
|
202
|
-
Personally, I prefer having a `routes.js` file to contain all the route
|
203
|
+
Personally, I prefer having a `routes.js` file to contain all the route declarations, and a javascript file for each controller.
|
@@ -35,7 +35,7 @@ module Paloma
|
|
35
35
|
# Keeps track of what Rails controller/action is executed.
|
36
36
|
#
|
37
37
|
def track_paloma_request
|
38
|
-
resource = controller_path.split('/').map(&:
|
38
|
+
resource = controller_path.split('/').map(&:classify).join('/')
|
39
39
|
|
40
40
|
paloma_request = {:resource => resource,
|
41
41
|
:action => self.action_name}
|
@@ -81,6 +81,18 @@ module Paloma
|
|
81
81
|
not_redirect = self.status != 302
|
82
82
|
[nil, 'text/html'].include?(response.content_type) && not_redirect
|
83
83
|
end
|
84
|
+
|
85
|
+
|
86
|
+
#
|
87
|
+
# Make sure not to execute paloma on the following response type
|
88
|
+
#
|
89
|
+
def render options = nil, extra_options = {}, &block
|
90
|
+
[:json, :js, :xml, :file].each do |format|
|
91
|
+
js false if options.has_key?(format)
|
92
|
+
end if options.is_a?(Hash)
|
93
|
+
|
94
|
+
super
|
95
|
+
end
|
84
96
|
end
|
85
97
|
|
86
98
|
|
data/paloma.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'paloma'
|
3
|
-
s.version = '3.0.
|
3
|
+
s.version = '3.0.1'
|
4
4
|
s.summary = "Provides an easy way to execute page-specific javascript for Rails."
|
5
5
|
s.description = "Page-specific javascript for Rails done right"
|
6
6
|
s.authors = ['Karl Paragua']
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
10
10
|
|
11
11
|
s.add_dependency 'jquery-rails'
|
12
12
|
|
13
|
-
s.add_development_dependency 'rails', ['
|
13
|
+
s.add_development_dependency 'rails', ['~> 3.2.0']
|
14
14
|
s.add_development_dependency 'rake', ['>= 0']
|
15
15
|
s.add_development_dependency 'rspec', ['>= 0']
|
16
16
|
s.add_development_dependency 'rspec-rails', ['~> 2.0']
|
@@ -80,4 +80,14 @@ var Bar = Paloma.controller('Admin/Bar');
|
|
80
80
|
|
81
81
|
Bar.prototype.show = function(){
|
82
82
|
window.called.push('Admin/Bar#show');
|
83
|
-
};
|
83
|
+
};
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
var MultipleName = Paloma.controller('MultipleName');
|
90
|
+
|
91
|
+
MultipleName.prototype.index = function(){
|
92
|
+
window.called.push('MultipleName#index')
|
93
|
+
};
|
@@ -4,4 +4,24 @@ class MainController < ApplicationController
|
|
4
4
|
render :inline => 'Main#index', :layout => 'application'
|
5
5
|
end
|
6
6
|
|
7
|
+
|
8
|
+
def json_response
|
9
|
+
render :json => {:x => 1}
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
def js_response
|
14
|
+
render :js => 'alert(1);'
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
def xml_response
|
19
|
+
render :xml => '<xml></xml>'
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
def file_response
|
24
|
+
render :file => "#{Rails.root}/Gemfile"
|
25
|
+
end
|
26
|
+
|
7
27
|
end
|
data/test_app/config/routes.rb
CHANGED
@@ -4,11 +4,21 @@ TestApp::Application.routes.draw do
|
|
4
4
|
|
5
5
|
root :to => 'main#index'
|
6
6
|
|
7
|
-
resources :main, :controller => 'Main'
|
7
|
+
resources :main, :controller => 'Main' do
|
8
|
+
member do
|
9
|
+
get :json_response
|
10
|
+
get :js_response
|
11
|
+
get :xml_response
|
12
|
+
get :file_response
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
8
16
|
resources :foo, :controller => 'Foo'
|
9
17
|
|
10
18
|
namespace :admin do
|
11
19
|
resources :bar, :controller => 'Bar'
|
12
20
|
end
|
13
21
|
|
22
|
+
|
23
|
+
resources :multiple_names
|
14
24
|
end
|
@@ -56,6 +56,53 @@ feature 'executing Paloma controller', :js => true do
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
+
|
60
|
+
context 'when requests from a controller with multiple name' do
|
61
|
+
it 'executes the corresponding Paloma action' do
|
62
|
+
visit multiple_names_path
|
63
|
+
|
64
|
+
called = page.evaluate_script 'window.called.pop()'
|
65
|
+
|
66
|
+
expect(called).to eq 'MultipleName#index'
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
#
|
72
|
+
# [TODO]
|
73
|
+
# Create proper test for the following:
|
74
|
+
#
|
75
|
+
|
76
|
+
context 'when rendering json' do
|
77
|
+
it 'does not execute Paloma' do
|
78
|
+
visit json_response_main_path 1
|
79
|
+
page.should_not have_selector '.js-paloma-hook'
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
|
84
|
+
context 'when rendering js' do
|
85
|
+
it 'does not execute Paloma' do
|
86
|
+
visit js_response_main_path 1
|
87
|
+
page.should_not have_selector '.js-paloma-hook'
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
context 'when rendering xml' do
|
93
|
+
it 'does not execute Paloma' do
|
94
|
+
visit xml_response_main_path 1
|
95
|
+
page.should_not have_selector '.js-paloma-hook'
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
|
100
|
+
context 'when rendering a file' do
|
101
|
+
it 'does not execute Paloma' do
|
102
|
+
visit file_response_main_path 1
|
103
|
+
page.should_not have_selector '.js-paloma-hook'
|
104
|
+
end
|
105
|
+
end
|
59
106
|
end
|
60
107
|
|
61
|
-
end
|
108
|
+
end
|
@@ -29,18 +29,22 @@
|
|
29
29
|
var Controller = this.factory.get(controllerName);
|
30
30
|
|
31
31
|
if (!Controller){
|
32
|
-
|
32
|
+
console.warn('Paloma: undefined controller -> ' + controllerName);
|
33
|
+
continue;
|
33
34
|
}
|
34
35
|
|
35
36
|
var controller = new Controller(request.params);
|
36
37
|
|
37
38
|
if (!controller[action]){
|
38
|
-
|
39
|
-
|
39
|
+
console.warn('Paloma: undefined action <' + action +
|
40
|
+
'> for <' + controllerName + '> controller');
|
41
|
+
continue;
|
40
42
|
}
|
41
43
|
|
42
44
|
controller[action]();
|
43
45
|
}
|
46
|
+
|
47
|
+
this.restart();
|
44
48
|
};
|
45
49
|
|
46
50
|
|
@@ -58,4 +62,4 @@
|
|
58
62
|
|
59
63
|
Paloma.Engine = Engine;
|
60
64
|
|
61
|
-
})(window.Paloma);
|
65
|
+
})(window.Paloma);
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paloma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
5
|
-
prerelease:
|
4
|
+
version: 3.0.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Karl Paragua
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-24 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: jquery-rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,23 +27,20 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rails
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 3.2.0
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 3.2.0
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ! '>='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ! '>='
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ! '>='
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -78,7 +69,6 @@ dependencies:
|
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rspec-rails
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
73
|
- - ~>
|
84
74
|
- !ruby/object:Gem::Version
|
@@ -86,7 +76,6 @@ dependencies:
|
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
80
|
- - ~>
|
92
81
|
- !ruby/object:Gem::Version
|
@@ -94,7 +83,6 @@ dependencies:
|
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: capybara
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
87
|
- - ~>
|
100
88
|
- !ruby/object:Gem::Version
|
@@ -102,7 +90,6 @@ dependencies:
|
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
94
|
- - ~>
|
108
95
|
- !ruby/object:Gem::Version
|
@@ -110,7 +97,6 @@ dependencies:
|
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: jasmine-rails
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
101
|
- - ~>
|
116
102
|
- !ruby/object:Gem::Version
|
@@ -118,7 +104,6 @@ dependencies:
|
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
108
|
- - ~>
|
124
109
|
- !ruby/object:Gem::Version
|
@@ -148,20 +133,21 @@ files:
|
|
148
133
|
- test_app/app/assets/images/rails.png
|
149
134
|
- test_app/app/assets/javascripts/admin/bar.js
|
150
135
|
- test_app/app/assets/javascripts/application.js
|
151
|
-
- test_app/app/assets/javascripts/foo.js
|
152
|
-
- test_app/app/assets/javascripts/main.js
|
153
136
|
- test_app/app/assets/stylesheets/admin/bar.css
|
154
137
|
- test_app/app/assets/stylesheets/application.css
|
155
138
|
- test_app/app/assets/stylesheets/foo.css
|
156
139
|
- test_app/app/assets/stylesheets/main.css
|
140
|
+
- test_app/app/assets/stylesheets/multiple_names.css
|
157
141
|
- test_app/app/controllers/admin/bar_controller.rb
|
158
142
|
- test_app/app/controllers/application_controller.rb
|
159
143
|
- test_app/app/controllers/foo_controller.rb
|
160
144
|
- test_app/app/controllers/main_controller.rb
|
145
|
+
- test_app/app/controllers/multiple_names_controller.rb
|
161
146
|
- test_app/app/helpers/admin/bar_helper.rb
|
162
147
|
- test_app/app/helpers/application_helper.rb
|
163
148
|
- test_app/app/helpers/foo_helper.rb
|
164
149
|
- test_app/app/helpers/main_helper.rb
|
150
|
+
- test_app/app/helpers/multiple_names_helper.rb
|
165
151
|
- test_app/app/mailers/.gitkeep
|
166
152
|
- test_app/app/models/.gitkeep
|
167
153
|
- test_app/app/views/layouts/application.html.erb
|
@@ -214,26 +200,25 @@ files:
|
|
214
200
|
- vendor/assets/javascripts/paloma/router.js
|
215
201
|
homepage: https://github.com/kbparagua/paloma
|
216
202
|
licenses: []
|
203
|
+
metadata: {}
|
217
204
|
post_install_message:
|
218
205
|
rdoc_options: []
|
219
206
|
require_paths:
|
220
207
|
- lib
|
221
208
|
required_ruby_version: !ruby/object:Gem::Requirement
|
222
|
-
none: false
|
223
209
|
requirements:
|
224
210
|
- - ! '>='
|
225
211
|
- !ruby/object:Gem::Version
|
226
212
|
version: '0'
|
227
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
228
|
-
none: false
|
229
214
|
requirements:
|
230
215
|
- - ! '>='
|
231
216
|
- !ruby/object:Gem::Version
|
232
217
|
version: '0'
|
233
218
|
requirements: []
|
234
219
|
rubyforge_project:
|
235
|
-
rubygems_version: 1.
|
220
|
+
rubygems_version: 2.1.5
|
236
221
|
signing_key:
|
237
|
-
specification_version:
|
222
|
+
specification_version: 4
|
238
223
|
summary: Provides an easy way to execute page-specific javascript for Rails.
|
239
224
|
test_files: []
|