app_drone 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +10 -1
- data/README.md~ +9 -1
- data/TODO +1 -1
- data/TODO~ +3 -2
- data/lib/app_drone/drone.rb +6 -5
- data/lib/app_drone/drone.rb~ +6 -5
- data/lib/app_drone/drones/bootstrap/bootstrap.rb +1 -1
- data/lib/app_drone/drones/bootstrap/bootstrap.rb~ +2 -1
- data/lib/app_drone/drones/ember/ember.rb +21 -0
- data/lib/app_drone/drones/ember/ember.rb~ +21 -0
- data/lib/app_drone/drones/ember/ember_js.rb~ +21 -0
- data/lib/app_drone/drones/ember/install.erb +3 -0
- data/lib/app_drone/drones/ember/install.erb~ +3 -0
- data/lib/app_drone/drones/javascript/application_coffee.erb +4 -1
- data/lib/app_drone/drones/javascript/application_coffee.erb~ +5 -2
- data/lib/app_drone/drones/javascript/javascript.rb +1 -0
- data/lib/app_drone/drones/javascript/javascript.rb~ +2 -0
- data/lib/app_drone/drones/simple_form/simple_form.rb +1 -1
- data/lib/app_drone/drones/simple_form/simple_form.rb~ +2 -1
- data/lib/app_drone/version.rb +1 -1
- data/lib/app_drone/version.rb~ +1 -1
- data/out.rb +20 -5
- data/out.rb~ +20 -6
- data/test/test_app_drone.rb +11 -8
- data/test/test_app_drone.rb~ +12 -9
- metadata +9 -4
data/README.md
CHANGED
@@ -192,6 +192,12 @@ For convenience, `method_missing` is used to allow you to use the underscore'd n
|
|
192
192
|
**Take a look at existing drones for more info!**
|
193
193
|
|
194
194
|
|
195
|
+
### Drone naming caveat
|
196
|
+
|
197
|
+
Because `ActiveSupport::Inflector` is used, be careful when naming drones with apparent plurals - `AppDrone::EmberJs` would be incorrectly symbolized to `ember_j`.
|
198
|
+
|
199
|
+
|
200
|
+
|
195
201
|
### An important reminder
|
196
202
|
|
197
203
|
AppDrone is not for everyone. It's highly opinionated about how a Rails app should be laid out, but is the fruit of tons of research into best practices and maintainability. AppDrone leans especially heavily on Sass, Compass, Coffeescript and Slim. Buyer beware.
|
@@ -207,6 +213,7 @@ AppDrone is not for everyone. It's highly opinionated about how a Rails app shou
|
|
207
213
|
- Javascript (Coffescript & jQuery)
|
208
214
|
- SlimView
|
209
215
|
- HighVoltage
|
216
|
+
- Ember (the Ember.js library)
|
210
217
|
- Chosen, by harvestHQ
|
211
218
|
- Bootstrap, by Twitter
|
212
219
|
- SimpleForm (with optional Country Select and automatic Twitter Bootstrap integration)
|
@@ -224,10 +231,13 @@ AppDrone is not for everyone. It's highly opinionated about how a Rails app shou
|
|
224
231
|
|
225
232
|
### Future drones (TODO - I'll get there some day!)
|
226
233
|
|
234
|
+
- Database (currenly rake db:migrate in template will break non-sqlite dbs)
|
227
235
|
- Stylesheet utils
|
228
236
|
- SlimViews: Add browser-specific classes to <html> via useragent + helpers..
|
229
237
|
- UserAgent blocking script
|
230
238
|
- Responders
|
239
|
+
- EasyRoles
|
240
|
+
- Migrant
|
231
241
|
- HasScope
|
232
242
|
- Pagination
|
233
243
|
- jQuery shims
|
@@ -240,7 +250,6 @@ AppDrone is not for everyone. It's highly opinionated about how a Rails app shou
|
|
240
250
|
- NewRelic
|
241
251
|
- EngineYard for deployment
|
242
252
|
- Backbone integration + Skim
|
243
|
-
- Ember.js integration
|
244
253
|
- Pivotal tracker
|
245
254
|
|
246
255
|
|
data/README.md~
CHANGED
@@ -192,6 +192,12 @@ For convenience, `method_missing` is used to allow you to use the underscore'd n
|
|
192
192
|
**Take a look at existing drones for more info!**
|
193
193
|
|
194
194
|
|
195
|
+
### Drone naming caveat
|
196
|
+
|
197
|
+
Because `ActiveSupport::Inflector` is used, be careful when naming drones with apparent plurals - `AppDrone::EmberJs` would be incorrectly symbolized to `ember_j`.
|
198
|
+
|
199
|
+
|
200
|
+
|
195
201
|
### An important reminder
|
196
202
|
|
197
203
|
AppDrone is not for everyone. It's highly opinionated about how a Rails app should be laid out, but is the fruit of tons of research into best practices and maintainability. AppDrone leans especially heavily on Sass, Compass, Coffeescript and Slim. Buyer beware.
|
@@ -207,6 +213,7 @@ AppDrone is not for everyone. It's highly opinionated about how a Rails app shou
|
|
207
213
|
- Javascript (Coffescript & jQuery)
|
208
214
|
- SlimView
|
209
215
|
- HighVoltage
|
216
|
+
- Ember (the Ember.js library)
|
210
217
|
- Chosen, by harvestHQ
|
211
218
|
- Bootstrap, by Twitter
|
212
219
|
- SimpleForm (with optional Country Select and automatic Twitter Bootstrap integration)
|
@@ -228,6 +235,8 @@ AppDrone is not for everyone. It's highly opinionated about how a Rails app shou
|
|
228
235
|
- SlimViews: Add browser-specific classes to <html> via useragent + helpers..
|
229
236
|
- UserAgent blocking script
|
230
237
|
- Responders
|
238
|
+
- EasyRoles
|
239
|
+
- Migrant
|
231
240
|
- HasScope
|
232
241
|
- Pagination
|
233
242
|
- jQuery shims
|
@@ -240,7 +249,6 @@ AppDrone is not for everyone. It's highly opinionated about how a Rails app shou
|
|
240
249
|
- NewRelic
|
241
250
|
- EngineYard for deployment
|
242
251
|
- Backbone integration + Skim
|
243
|
-
- Ember.js integration
|
244
252
|
- Pivotal tracker
|
245
253
|
|
246
254
|
|
data/TODO
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
** templates must be added and run in the order that satisfies dependency order best. (also consider pairings if possible)
|
2
2
|
i.e. a drone can only run after it's dependants have had their turn (unless they mutually depend)
|
3
3
|
|
4
|
-
**
|
4
|
+
** rename pairs/pairs_with to connections/connects_with
|
data/TODO~
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
** templates must be added and run in the order that satisfies dependency order best.
|
2
|
-
**
|
1
|
+
** templates must be added and run in the order that satisfies dependency order best. (also consider pairings if possible)
|
3
2
|
i.e. a drone can only run after it's dependants have had their turn (unless they mutually depend)
|
4
3
|
|
5
4
|
** param 'default' values... (when accessing param, if nil, return default (unless default is nil too))
|
5
|
+
|
6
|
+
** rename pairs/pairs_with to connections/connects_with
|
data/lib/app_drone/drone.rb
CHANGED
@@ -9,12 +9,14 @@ class Drone
|
|
9
9
|
# New
|
10
10
|
def initialize(template,*params)
|
11
11
|
@template = template
|
12
|
-
@params = params.first
|
12
|
+
@params = (params.first || {}).merge({options: {}})
|
13
13
|
setup
|
14
14
|
end
|
15
15
|
|
16
16
|
def param(sym)
|
17
|
-
|
17
|
+
param_value = @params[sym]
|
18
|
+
default_value = self.class.param_named(sym).options[:default]
|
19
|
+
return param_value || default_value
|
18
20
|
end
|
19
21
|
|
20
22
|
# DSL
|
@@ -66,9 +68,8 @@ class Drone
|
|
66
68
|
def param(name, type, *options)
|
67
69
|
(@params ||= []) << Param.new(name, type, options.first)
|
68
70
|
end
|
69
|
-
def params
|
70
|
-
|
71
|
-
end
|
71
|
+
def params; @params || [] end
|
72
|
+
def param_named(n); params.find { |p| p.name == n } end
|
72
73
|
|
73
74
|
def desc(d=nil)
|
74
75
|
return @description if d.nil?
|
data/lib/app_drone/drone.rb~
CHANGED
@@ -9,12 +9,14 @@ class Drone
|
|
9
9
|
# New
|
10
10
|
def initialize(template,*params)
|
11
11
|
@template = template
|
12
|
-
@params = params.first
|
12
|
+
@params = (params.first || {}).merge({options: {}})
|
13
13
|
setup
|
14
14
|
end
|
15
15
|
|
16
16
|
def param(sym)
|
17
|
-
|
17
|
+
param_value = @params[sym]
|
18
|
+
default_value = self.class.param_named(sym).options[:default]
|
19
|
+
return param_value || default_value
|
18
20
|
end
|
19
21
|
|
20
22
|
# DSL
|
@@ -66,9 +68,8 @@ class Drone
|
|
66
68
|
def param(name, type, *options)
|
67
69
|
(@params ||= []) << Param.new(name, type, options.first)
|
68
70
|
end
|
69
|
-
def params
|
70
|
-
|
71
|
-
end
|
71
|
+
def params; @params || [] end
|
72
|
+
def param_named(n); params.find { |p| p.name == n } end
|
72
73
|
|
73
74
|
def desc(d=nil)
|
74
75
|
return @description if d.nil?
|
@@ -6,7 +6,7 @@ class Bootstrap < Drone
|
|
6
6
|
|
7
7
|
param :vendor, :boolean, info: 'place a local copy of the files into the repo for customization'
|
8
8
|
param :responsive, :boolean, info: 'include responsive grid'
|
9
|
-
param :font_awesome, :boolean, info: 'use font-awesome for icons'
|
9
|
+
param :font_awesome, :boolean, info: 'use font-awesome for icons', default: true
|
10
10
|
|
11
11
|
# TODO js import options
|
12
12
|
|
@@ -2,10 +2,11 @@
|
|
2
2
|
module AppDrone
|
3
3
|
class Bootstrap < Drone
|
4
4
|
desc "Installs Twitter Bootstrap stylesheets and javascripts"
|
5
|
+
category :ui
|
5
6
|
|
6
7
|
param :vendor, :boolean, info: 'place a local copy of the files into the repo for customization'
|
7
8
|
param :responsive, :boolean, info: 'include responsive grid'
|
8
|
-
param :font_awesome, :boolean, info: 'use font-awesome for icons'
|
9
|
+
param :font_awesome, :boolean, info: 'use font-awesome for icons', default: true
|
9
10
|
|
10
11
|
# TODO js import options
|
11
12
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module AppDrone
|
2
|
+
class Ember < Drone
|
3
|
+
desc 'Installs ember.js for Rails'
|
4
|
+
depends_on :bundle, :javascript
|
5
|
+
|
6
|
+
param :app_skeleton, :boolean, info: 'build an Ember app skeleton'
|
7
|
+
|
8
|
+
def align
|
9
|
+
bundle.add 'ember-rails'
|
10
|
+
javascript.pipeline 'ember'
|
11
|
+
if param(:app_skeleton)
|
12
|
+
javascript.pipeline 'ember/#{app_name}.js'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def execute
|
17
|
+
do! :install
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module AppDrone
|
2
|
+
class Ember < Drone
|
3
|
+
desc 'Installs ember.js for Rails'
|
4
|
+
depends_on :bundle, :javascript
|
5
|
+
|
6
|
+
param :app_skeleton, :boolean, info: 'build an Ember app skeleton'
|
7
|
+
|
8
|
+
def align
|
9
|
+
bundle.add 'ember-rails'
|
10
|
+
javascript.pipeline 'ember'
|
11
|
+
if param(:app_skeleton)
|
12
|
+
javascript.pipeline 'ember/#{app_name}.js'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def execute
|
17
|
+
do! :install
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module AppDrone
|
2
|
+
class EmberJs < Drone
|
3
|
+
desc 'Installs ember.js for Rails'
|
4
|
+
depends_on :bundle, :javascript
|
5
|
+
|
6
|
+
param :app_skeleton, :boolean, info: 'build an Ember app skeleton'
|
7
|
+
|
8
|
+
def align
|
9
|
+
bundle.add 'ember-rails'
|
10
|
+
javascript.pipeline 'ember'
|
11
|
+
if param(:app_skeleton)
|
12
|
+
javascript.pipeline 'ember/\#{app_name}.js'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def execute
|
17
|
+
do! :install
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -3,8 +3,11 @@ js_asset_path = File.join %w(app assets javascripts application.js)
|
|
3
3
|
@coffee_asset_path = File.join %w(app assets javascripts application.js.coffee)
|
4
4
|
@generator.create_file @coffee_asset_path, <<-COFFEE
|
5
5
|
<% pipeline_requires.each { |r| %>//= require <%= r %>
|
6
|
-
<% }
|
6
|
+
<% } %>
|
7
|
+
COFFEE
|
7
8
|
|
9
|
+
@coffee_init_path = File.join %w(app assets javascripts init.js.coffee)
|
10
|
+
@generator.create_file @coffee_init_path, <<-COFFEE
|
8
11
|
$(document).ready ->
|
9
12
|
<% on_readies.each { |r| %><%= r %>
|
10
13
|
<% } %>
|
@@ -3,10 +3,13 @@ js_asset_path = File.join %w(app assets javascripts application.js)
|
|
3
3
|
@coffee_asset_path = File.join %w(app assets javascripts application.js.coffee)
|
4
4
|
@generator.create_file @coffee_asset_path, <<-COFFEE
|
5
5
|
<% pipeline_requires.each { |r| %>//= require <%= r %>
|
6
|
-
<% }
|
6
|
+
<% } %>
|
7
|
+
COFFEE
|
7
8
|
|
9
|
+
@coffee_init_path = File.join %w(app assets javascripts init.js.coffee)
|
10
|
+
@generator.create_file @coffee_init_path, <<-COFFEE
|
8
11
|
$(document).ready ->
|
9
|
-
<%
|
12
|
+
<% on_readies.each { |r| %><%= r %>
|
10
13
|
<% } %>
|
11
14
|
|
12
15
|
COFFEE
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module AppDrone
|
2
2
|
class Javascript < Drone
|
3
3
|
desc "Generates application.js.coffee with manifest options and jQuery load hooks"
|
4
|
+
category :base
|
4
5
|
attr_accessor :pipeline_requires, :on_readies
|
5
6
|
|
6
7
|
def setup
|
@@ -9,6 +10,7 @@ class Javascript < Drone
|
|
9
10
|
|
10
11
|
self.pipeline 'jquery'
|
11
12
|
self.pipeline 'jquery_ujs'
|
13
|
+
self.pipeline 'init'
|
12
14
|
end
|
13
15
|
|
14
16
|
def pipeline(r); self.pipeline_requires << r end
|
@@ -7,7 +7,7 @@ class SimpleForm < Drone
|
|
7
7
|
depends_on :bundle
|
8
8
|
pairs_with :bootstrap
|
9
9
|
|
10
|
-
param :add_country_select, :boolean, info: 'Add country_select for listing countries'
|
10
|
+
param :add_country_select, :boolean, info: 'Add country_select for listing countries', default: true
|
11
11
|
|
12
12
|
def align
|
13
13
|
bundle.add 'simple_form'
|
@@ -7,7 +7,8 @@ class SimpleForm < Drone
|
|
7
7
|
depends_on :bundle
|
8
8
|
pairs_with :bootstrap
|
9
9
|
|
10
|
-
param :add_country_select, :boolean, info: 'Add country_select for listing countries'
|
10
|
+
param :add_country_select, :boolean, info: 'Add country_select for listing countries', default: true
|
11
|
+
|
11
12
|
|
12
13
|
def align
|
13
14
|
bundle.add 'simple_form'
|
data/lib/app_drone/version.rb
CHANGED
data/lib/app_drone/version.rb~
CHANGED
data/out.rb
CHANGED
@@ -28,8 +28,10 @@ class AppBuilder < Rails::AppBuilder
|
|
28
28
|
@generator.gem 'slim-rails'
|
29
29
|
@generator.gem 'high_voltage'
|
30
30
|
@generator.gem 'simple_form'
|
31
|
+
@generator.gem 'country_select'
|
31
32
|
@generator.gem 'compass_twitter_bootstrap', :git=>"git://github.com/vwall/compass-twitter-bootstrap.git", :group=>:assets
|
32
33
|
@generator.gem 'chosen-rails'
|
34
|
+
@generator.gem 'ember-rails'
|
33
35
|
|
34
36
|
run_bundle
|
35
37
|
@generator.options = @generator.options.dup
|
@@ -49,9 +51,15 @@ js_asset_path = File.join %w(app assets javascripts application.js)
|
|
49
51
|
@generator.create_file @coffee_asset_path, <<-COFFEE
|
50
52
|
//= require jquery
|
51
53
|
//= require jquery_ujs
|
54
|
+
//= require init
|
52
55
|
//= require chosen-jquery
|
53
|
-
//=
|
56
|
+
//= require ember
|
57
|
+
//= require ember/#{app_name}.js
|
54
58
|
|
59
|
+
COFFEE
|
60
|
+
|
61
|
+
@coffee_init_path = File.join %w(app assets javascripts init.js.coffee)
|
62
|
+
@generator.create_file @coffee_init_path, <<-COFFEE
|
55
63
|
$(document).ready ->
|
56
64
|
$('.chzn-select').chosen();
|
57
65
|
|
@@ -125,17 +133,24 @@ select.chzn-select
|
|
125
133
|
|
126
134
|
FLAIR
|
127
135
|
|
136
|
+
# ---
|
137
|
+
# AppDrone::Cleanup
|
138
|
+
# ---
|
139
|
+
@generator.remove_file File.join %w(public index.html)
|
140
|
+
@generator.remove_file File.join %w(app assets images rails.png)
|
141
|
+
@generator.remove_file File.join %w(README.rdoc)
|
142
|
+
|
128
143
|
# ---
|
129
144
|
# AppDrone::SimpleForm
|
130
145
|
# ---
|
131
146
|
generate "simple_form:install --bootstrap"
|
132
147
|
|
133
148
|
# ---
|
134
|
-
# AppDrone::
|
149
|
+
# AppDrone::Ember
|
135
150
|
# ---
|
136
|
-
|
137
|
-
|
138
|
-
|
151
|
+
|
152
|
+
generate "ember:bootstrap"
|
153
|
+
|
139
154
|
|
140
155
|
rake 'db:migrate'
|
141
156
|
say "She's all yours, sparky!\n\n", :green
|
data/out.rb~
CHANGED
@@ -28,8 +28,10 @@ class AppBuilder < Rails::AppBuilder
|
|
28
28
|
@generator.gem 'slim-rails'
|
29
29
|
@generator.gem 'high_voltage'
|
30
30
|
@generator.gem 'simple_form'
|
31
|
+
@generator.gem 'country_select'
|
31
32
|
@generator.gem 'compass_twitter_bootstrap', :git=>"git://github.com/vwall/compass-twitter-bootstrap.git", :group=>:assets
|
32
33
|
@generator.gem 'chosen-rails'
|
34
|
+
@generator.gem 'ember-rails'
|
33
35
|
|
34
36
|
run_bundle
|
35
37
|
@generator.options = @generator.options.dup
|
@@ -49,9 +51,15 @@ js_asset_path = File.join %w(app assets javascripts application.js)
|
|
49
51
|
@generator.create_file @coffee_asset_path, <<-COFFEE
|
50
52
|
//= require jquery
|
51
53
|
//= require jquery_ujs
|
54
|
+
//= require init
|
52
55
|
//= require chosen-jquery
|
53
|
-
//=
|
56
|
+
//= require ember
|
57
|
+
//= require ember/#{app_name}.js
|
54
58
|
|
59
|
+
COFFEE
|
60
|
+
|
61
|
+
@coffee_init_path = File.join %w(app assets javascripts init.js.coffee)
|
62
|
+
@generator.create_file @coffee_init_path, <<-COFFEE
|
55
63
|
$(document).ready ->
|
56
64
|
$('.chzn-select').chosen();
|
57
65
|
|
@@ -71,7 +79,6 @@ COFFEE
|
|
71
79
|
|
72
80
|
@import 'compass'
|
73
81
|
@import 'compass_twitter_bootstrap_awesome'
|
74
|
-
@import 'compass_twitter_bootstrap_responsive'
|
75
82
|
|
76
83
|
SASS
|
77
84
|
|
@@ -125,17 +132,24 @@ select.chzn-select
|
|
125
132
|
|
126
133
|
FLAIR
|
127
134
|
|
135
|
+
# ---
|
136
|
+
# AppDrone::Cleanup
|
137
|
+
# ---
|
138
|
+
@generator.remove_file File.join %w(public index.html)
|
139
|
+
@generator.remove_file File.join %w(app assets images rails.png)
|
140
|
+
@generator.remove_file File.join %w(README.rdoc)
|
141
|
+
|
128
142
|
# ---
|
129
143
|
# AppDrone::SimpleForm
|
130
144
|
# ---
|
131
145
|
generate "simple_form:install --bootstrap"
|
132
146
|
|
133
147
|
# ---
|
134
|
-
# AppDrone::
|
148
|
+
# AppDrone::Ember
|
135
149
|
# ---
|
136
|
-
|
137
|
-
|
138
|
-
|
150
|
+
|
151
|
+
generate "ember:bootstrap"
|
152
|
+
|
139
153
|
|
140
154
|
rake 'db:migrate'
|
141
155
|
say "She's all yours, sparky!\n\n", :green
|
data/test/test_app_drone.rb
CHANGED
@@ -17,16 +17,13 @@ class AppDroneTest < Test::Unit::TestCase
|
|
17
17
|
|
18
18
|
def test_basic_behavior
|
19
19
|
template = Template.new
|
20
|
-
template
|
21
|
-
|
22
|
-
template.add :stylesheet
|
23
|
-
template.add :slim_view
|
24
|
-
template.add :high_voltage
|
25
|
-
template.add :flair
|
20
|
+
add_defaults_to_template(template)
|
21
|
+
|
26
22
|
template.add :simple_form
|
27
|
-
template.add :bootstrap,
|
23
|
+
template.add :bootstrap, responsive: true
|
28
24
|
template.add :chosen
|
29
|
-
template.add :
|
25
|
+
template.add :ember, app_skeleton: true
|
26
|
+
|
30
27
|
template.render_to_file
|
31
28
|
end
|
32
29
|
|
@@ -40,6 +37,12 @@ class AppDroneTest < Test::Unit::TestCase
|
|
40
37
|
assert_equal drone_symbol.to_app_drone_class, AppDrone::Bundle
|
41
38
|
end
|
42
39
|
|
40
|
+
private
|
41
|
+
def add_defaults_to_template(template)
|
42
|
+
defaults = [:bundle, :javascript, :stylesheet, :slim_view, :high_voltage, :flair, :cleanup]
|
43
|
+
defaults.each { |drone| template.add(drone) }
|
44
|
+
end
|
45
|
+
|
43
46
|
end
|
44
47
|
|
45
48
|
end
|
data/test/test_app_drone.rb~
CHANGED
@@ -17,17 +17,14 @@ class AppDroneTest < Test::Unit::TestCase
|
|
17
17
|
|
18
18
|
def test_basic_behavior
|
19
19
|
template = Template.new
|
20
|
-
template
|
21
|
-
|
22
|
-
template.add :stylesheet
|
23
|
-
template.add :slim_view
|
24
|
-
template.add :high_voltage
|
25
|
-
template.add :flair
|
20
|
+
add_defaults_to_template(template)
|
21
|
+
|
26
22
|
template.add :simple_form
|
27
|
-
template.add :bootstrap,
|
23
|
+
template.add :bootstrap, responsive: true
|
28
24
|
template.add :chosen
|
29
|
-
template.add :
|
30
|
-
|
25
|
+
template.add :ember, app_skeleton: true
|
26
|
+
|
27
|
+
template.render_to_file
|
31
28
|
end
|
32
29
|
|
33
30
|
def test_drone_class_to_symbol
|
@@ -40,6 +37,12 @@ class AppDroneTest < Test::Unit::TestCase
|
|
40
37
|
assert_equal drone_symbol.to_app_drone_class, AppDrone::Bundle
|
41
38
|
end
|
42
39
|
|
40
|
+
private
|
41
|
+
def add_defaults_to_template(template)
|
42
|
+
defaults = [:bundle, :javascript, :stylesheet, :slim_view, :high_voltage, :flair, :cleanup]
|
43
|
+
defaults.each { |drone| template.add(drone) }
|
44
|
+
end
|
45
|
+
|
43
46
|
end
|
44
47
|
|
45
48
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: app_drone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &8328640 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 3.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *8328640
|
25
25
|
description: Give your Rails apps a kickstart
|
26
26
|
email:
|
27
27
|
- whoisdanieldavey@gmail.com
|
@@ -62,6 +62,11 @@ files:
|
|
62
62
|
- lib/app_drone/drones/cleanup/cleanup.erb
|
63
63
|
- lib/app_drone/drones/cleanup/cleanup.rb
|
64
64
|
- lib/app_drone/drones/cleanup/cleanup.rb~
|
65
|
+
- lib/app_drone/drones/ember/ember.rb
|
66
|
+
- lib/app_drone/drones/ember/ember.rb~
|
67
|
+
- lib/app_drone/drones/ember/ember_js.rb~
|
68
|
+
- lib/app_drone/drones/ember/install.erb
|
69
|
+
- lib/app_drone/drones/ember/install.erb~
|
65
70
|
- lib/app_drone/drones/flair/flair.rb
|
66
71
|
- lib/app_drone/drones/flair/flair.rb~
|
67
72
|
- lib/app_drone/drones/flair/flair_page.erb
|