app_drone 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -1
- data/lib/app_drone/drone.rb +4 -0
- data/lib/app_drone/drones/git/cleanup.erb +1 -0
- data/lib/app_drone/drones/git/commit.erb +3 -0
- data/lib/app_drone/drones/{zzz/git → git}/git.rb +5 -1
- data/lib/app_drone/drones/{zzz/html5_placeholder_shim → html5_placeholder_shim}/copy_to_assets.erb +2 -1
- data/lib/app_drone/template.erb +5 -2
- data/lib/app_drone/template.rb +7 -1
- data/lib/app_drone/version.rb +1 -1
- data/out.rb +14 -1
- data/test/test_app_drone.rb +2 -2
- metadata +10 -9
- data/lib/app_drone/drones/zzz/git/install.erb +0 -3
- /data/lib/app_drone/drones/{zzz/git → git}/fetch.erb +0 -0
- /data/lib/app_drone/drones/{zzz/html5_placeholder_shim → html5_placeholder_shim}/html5_placeholder_shim.rb +0 -0
data/README.md
CHANGED
@@ -269,6 +269,7 @@ AppDrone is not for everyone. It's highly opinionated about how a Rails app shou
|
|
269
269
|
- [base] **Cleanup**
|
270
270
|
- [base] **HighVoltage** by ThoughtBot
|
271
271
|
- [base] **Flair** - drones use this to demonstrate their working functionality
|
272
|
+
- [base] **Git** commit your repo, and allow drones to fetch external files via git
|
272
273
|
- [views] **SimpleForm** with optional Country Select and automatic Twitter Bootstrap integration
|
273
274
|
- [views] **NestedForm** for managing multiple models in a single form
|
274
275
|
- [auth] **Sorcery** for no-frills user authentication
|
@@ -308,7 +309,6 @@ AppDrone is not for everyone. It's highly opinionated about how a Rails app shou
|
|
308
309
|
- [test] Capybara
|
309
310
|
- [test] Shoulda
|
310
311
|
- [dev] Guard
|
311
|
-
- [source-control] Git
|
312
312
|
- [requests] InheritedResources (deprecated)
|
313
313
|
- [requests] UserAgent blocking script
|
314
314
|
- [mailing] SendGrid https://github.com/stephenb/sendgrid
|
data/lib/app_drone/drone.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
@generator.remove_dir '<%= tmp_path %>'
|
@@ -3,6 +3,8 @@ class Git < Drone
|
|
3
3
|
desc "Clone external resources into your app"
|
4
4
|
category :base
|
5
5
|
|
6
|
+
param :commit, :boolean, info: 'Commit your repo once built'
|
7
|
+
|
6
8
|
attr_accessor :fetches
|
7
9
|
|
8
10
|
def tmp_path; 'git_tmp' end
|
@@ -15,10 +17,12 @@ class Git < Drone
|
|
15
17
|
|
16
18
|
def execute
|
17
19
|
do! :fetch
|
20
|
+
do_finally! :cleanup
|
21
|
+
do_finally! :commit if param(:commit)
|
18
22
|
end
|
19
23
|
|
20
24
|
def locate(p)
|
21
|
-
File.join
|
25
|
+
File.join tmp_path, p
|
22
26
|
end
|
23
27
|
|
24
28
|
private
|
data/lib/app_drone/template.erb
CHANGED
@@ -17,9 +17,9 @@ class AppBuilder < Rails::AppBuilder
|
|
17
17
|
# either way, this method is stupid.
|
18
18
|
end
|
19
19
|
|
20
|
-
<%
|
20
|
+
<% generator_methods.each do |m| %>
|
21
21
|
def <%= m %>
|
22
|
-
super
|
22
|
+
<%= 'super' if overridden_generator_method?(m) %>
|
23
23
|
<%= @directives[m].join("\n") %>
|
24
24
|
end
|
25
25
|
<% end %>
|
@@ -32,6 +32,9 @@ class AppBuilder < Rails::AppBuilder
|
|
32
32
|
rake 'db:create'
|
33
33
|
rake 'db:migrate'
|
34
34
|
|
35
|
+
<% if generator_methods.include?(:final) %>
|
36
|
+
final
|
37
|
+
<% end %>
|
35
38
|
|
36
39
|
# Drone Notices
|
37
40
|
<% drone_notices.each do |drone, notices| %>
|
data/lib/app_drone/template.rb
CHANGED
@@ -17,13 +17,19 @@ class Template
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def leftover_directives; @directives[:leftovers] || [] end
|
20
|
-
def
|
20
|
+
def generator_methods; @directives.keys - [:leftovers] end
|
21
|
+
def overridable_generator_methods; [:gemfile] end
|
22
|
+
def overridden_generator_method?(m); overridable_generator_methods.include?(m) end
|
21
23
|
|
22
24
|
def do!(d,drone)
|
23
25
|
generator_method = drone.class.generator_method || :leftovers
|
24
26
|
(@directives[generator_method] ||= []) << d
|
25
27
|
end
|
26
28
|
|
29
|
+
def do_finally!(d,drone)
|
30
|
+
(@directives[:final] ||= []) << d
|
31
|
+
end
|
32
|
+
|
27
33
|
def notify!(notice,drone)
|
28
34
|
(@drone_notices[drone.class] ||= []) << notice.gsub("'","\\'").gsub('"','\\"') # escape quotes
|
29
35
|
end
|
data/lib/app_drone/version.rb
CHANGED
data/out.rb
CHANGED
@@ -35,6 +35,15 @@ run_bundle
|
|
35
35
|
|
36
36
|
end
|
37
37
|
|
38
|
+
def final
|
39
|
+
|
40
|
+
# ---
|
41
|
+
# AppDrone::Git
|
42
|
+
# ---
|
43
|
+
@generator.remove_dir 'git_tmp'
|
44
|
+
|
45
|
+
end
|
46
|
+
|
38
47
|
|
39
48
|
def leftovers
|
40
49
|
|
@@ -127,13 +136,17 @@ FLAIR
|
|
127
136
|
# AppDrone::Html5PlaceholderShim
|
128
137
|
# ---
|
129
138
|
|
130
|
-
|
139
|
+
|
140
|
+
@generator.run 'cp git_tmp/jquery-html5-placeholder-shim/jquery.html5-placeholder-shim.js app/assets/javascripts/jquery.html5-placeholder-shim.js'
|
131
141
|
|
132
142
|
|
133
143
|
# This should be removed when the database drone is installed
|
134
144
|
rake 'db:create'
|
135
145
|
rake 'db:migrate'
|
136
146
|
|
147
|
+
|
148
|
+
final
|
149
|
+
|
137
150
|
|
138
151
|
# Drone Notices
|
139
152
|
|
data/test/test_app_drone.rb
CHANGED
@@ -17,14 +17,14 @@ class AppDroneTest < Test::Unit::TestCase
|
|
17
17
|
|
18
18
|
def test_dependants
|
19
19
|
d = AppDrone::Bundle.dependants
|
20
|
-
|
20
|
+
drones = AppDrone::Drone.drones
|
21
21
|
end
|
22
22
|
|
23
23
|
def test_basic_behavior
|
24
24
|
template = Template.new
|
25
25
|
add_defaults_to_template(template)
|
26
26
|
|
27
|
-
template.add :git
|
27
|
+
template.add :git, commit: false
|
28
28
|
template.add :html5_placeholder_shim
|
29
29
|
|
30
30
|
template.render_to_file
|
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.11.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-05-
|
12
|
+
date: 2012-05-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &18392420 !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: *18392420
|
25
25
|
description: Give your Rails apps a kickstart
|
26
26
|
email:
|
27
27
|
- whoisdanieldavey@gmail.com
|
@@ -59,12 +59,18 @@ files:
|
|
59
59
|
- lib/app_drone/drones/factory_girl/factory_girl.rb
|
60
60
|
- lib/app_drone/drones/flair/flair.rb
|
61
61
|
- lib/app_drone/drones/flair/flair_page.erb
|
62
|
+
- lib/app_drone/drones/git/cleanup.erb
|
63
|
+
- lib/app_drone/drones/git/commit.erb
|
64
|
+
- lib/app_drone/drones/git/fetch.erb
|
65
|
+
- lib/app_drone/drones/git/git.rb
|
62
66
|
- lib/app_drone/drones/gritter/flair.html.slim.erb
|
63
67
|
- lib/app_drone/drones/gritter/gritter.rb
|
64
68
|
- lib/app_drone/drones/gritter/install.erb
|
65
69
|
- lib/app_drone/drones/has_scope/has_scope.rb
|
66
70
|
- lib/app_drone/drones/high_voltage/create_pages_directory.erb
|
67
71
|
- lib/app_drone/drones/high_voltage/high_voltage.rb
|
72
|
+
- lib/app_drone/drones/html5_placeholder_shim/copy_to_assets.erb
|
73
|
+
- lib/app_drone/drones/html5_placeholder_shim/html5_placeholder_shim.rb
|
68
74
|
- lib/app_drone/drones/javascript/application_coffee.erb
|
69
75
|
- lib/app_drone/drones/javascript/javascript.rb
|
70
76
|
- lib/app_drone/drones/letter_opener/development_delivery_method.erb
|
@@ -100,12 +106,7 @@ files:
|
|
100
106
|
- lib/app_drone/drones/whenever/whenever.rb
|
101
107
|
- lib/app_drone/drones/whenever/wheneverize.erb
|
102
108
|
- lib/app_drone/drones/will_paginate/will_paginate.rb
|
103
|
-
- lib/app_drone/drones/zzz/git/fetch.erb
|
104
|
-
- lib/app_drone/drones/zzz/git/git.rb
|
105
|
-
- lib/app_drone/drones/zzz/git/install.erb
|
106
109
|
- lib/app_drone/drones/zzz/guard/guard.rb
|
107
|
-
- lib/app_drone/drones/zzz/html5_placeholder_shim/copy_to_assets.erb
|
108
|
-
- lib/app_drone/drones/zzz/html5_placeholder_shim/html5_placeholder_shim.rb
|
109
110
|
- lib/app_drone/drones/zzz/rspec/install.erb
|
110
111
|
- lib/app_drone/drones/zzz/rspec/rspec.rb
|
111
112
|
- lib/app_drone/object_extensions.rb
|
File without changes
|
File without changes
|