app_drone 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|