appscrolls 0.8.0 → 0.8.1
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/ChangeLog.md +9 -0
- data/README.md +23 -5
- data/lib/appscrolls/command.rb +9 -1
- data/scrolls/eycloud.rb +9 -11
- data/scrolls/github.rb +2 -6
- data/scrolls/mysql.rb +0 -4
- data/scrolls/postgresql.rb +3 -11
- data/scrolls/rails_basics.rb +2 -2
- data/scrolls/twitter_bootstrap.rb +1 -1
- data/version.rb +1 -1
- metadata +27 -27
data/ChangeLog.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# ChangeLog
|
2
2
|
|
3
|
+
|
3
4
|
## v0.8
|
4
5
|
|
5
6
|
* `postgresql` - supported on `eycloud` (Currently PostgreSQL 9.1)
|
@@ -9,6 +10,14 @@
|
|
9
10
|
* `puma` & `thin` - moved into zzz archive until Puma is released on EY Cloud; or another supporting platform added
|
10
11
|
* `spork` - moved into zzz archive as part of simplification
|
11
12
|
|
13
|
+
### v0.8.1
|
14
|
+
|
15
|
+
* `twitter_bootstrap` - includes `rails_basics`
|
16
|
+
* `eycloud` - only using `ey_cli` (`engineyard` gem has `net-ssh` conflict with `chef` gem)
|
17
|
+
* Display scrolls that will be used - explicitly requested (green) and implicitly included (yellow)
|
18
|
+
* `eycloud` - only unicorn and passenger initially supported
|
19
|
+
* `eycloud` - don't check for available app name - this should be implemented in ey_cli
|
20
|
+
|
12
21
|
## v0.7
|
13
22
|
|
14
23
|
New name! "App Scrolls"
|
data/README.md
CHANGED
@@ -73,12 +73,28 @@ Web applications are boring if they aren't running proudly on the internet. The
|
|
73
73
|
|
74
74
|
Scroll: `eycloud`
|
75
75
|
|
76
|
-
|
76
|
+
Example:
|
77
77
|
|
78
|
-
|
78
|
+
```
|
79
|
+
scrolls new mydemoapp -s twitter_bootstrap unicorn postgresql resque github eycloud
|
80
|
+
```
|
81
|
+
|
82
|
+
The created application above will be automatically stored in a git private/public repository on GitHub and then deployed to [Engine Yard Cloud][6].
|
83
|
+
|
84
|
+
When deploying to [Engine Yard Cloud][6] you will need to choose:
|
85
|
+
|
86
|
+
* `unicorn` or `passenger` for your app server
|
87
|
+
* `mysql` or `postgresql` for your SQL DB
|
88
|
+
|
89
|
+
When choosing from the following scrolls, your Engine Yard Cloud environment will be automatically upgraded/configured with Chef recipes.
|
90
|
+
|
91
|
+
* `resque` - add utility instances called `resque` for workers [see [readme][15] for more information]
|
92
|
+
* `redis` - add a utility called `redis` to have a dedicated redis DB; else it is run on your DB master or Solo instance
|
93
|
+
* `delayed_job` - add utility instances called `delayed_job` or `dj` for workers [see [readme][16] for more information]
|
94
|
+
|
95
|
+
Note: Resque is recommended instead of Delayed Job. Soon, Sidekiq will be recommended over both, and
|
79
96
|
|
80
|
-
|
81
|
-
* `resque` - the environment will have Resque and Redis
|
97
|
+
Please open an Issue if you want an alternate option (`puma` or `thin`; or `mongodb`)
|
82
98
|
|
83
99
|
### Heroku
|
84
100
|
|
@@ -167,4 +183,6 @@ App Scrolls and its scrolls are distributed under the MIT License. See [MIT_LICE
|
|
167
183
|
[11]:https://github.com/drnic/appscrolls/tree/master/scrolls
|
168
184
|
[12]:https://github.com/drnic/appscrolls/tree/master/scrolls/zzz
|
169
185
|
[13]:https://github.com/drnic/appscrolls/tree/apply_scrolls
|
170
|
-
[14]:https://github.com/drnic/mydemoapp
|
186
|
+
[14]:https://github.com/drnic/mydemoapp
|
187
|
+
[15]:https://github.com/engineyard/eycloud-recipe-resque#readme
|
188
|
+
[16]:https://github.com/engineyard/eycloud-recipe-delayed_job#readme
|
data/lib/appscrolls/command.rb
CHANGED
@@ -65,10 +65,18 @@ module AppScrollsScrolls
|
|
65
65
|
def run_template(name, scrolls, display_only = false)
|
66
66
|
puts
|
67
67
|
puts
|
68
|
-
puts "#{bold}Generating and Running Template
|
68
|
+
puts "#{bold}Generating and Running Template...#{clear}"
|
69
69
|
puts
|
70
70
|
file = Tempfile.new('template')
|
71
71
|
template = AppScrollsScrolls::Template.new(scrolls)
|
72
|
+
|
73
|
+
puts "Using the following scrolls:"
|
74
|
+
template.resolve_scrolls.map do |scroll|
|
75
|
+
color = scrolls.include?(scroll.new.key) ? green : yellow # yellow - automatic dependency
|
76
|
+
puts " #{color}* #{scroll.new.name}#{clear}"
|
77
|
+
end
|
78
|
+
puts
|
79
|
+
|
72
80
|
file.write template.compile
|
73
81
|
file.close
|
74
82
|
if display_only
|
data/scrolls/eycloud.rb
CHANGED
@@ -2,13 +2,12 @@
|
|
2
2
|
|
3
3
|
gem_group :development do
|
4
4
|
gem 'ey_cli', '>= 0.3.0'
|
5
|
-
gem 'engineyard', '>= 1.4.28'
|
6
5
|
end
|
7
6
|
|
8
7
|
gem 'ey_config' # for partner services
|
9
8
|
|
10
9
|
required_dbs = %w[mysql postgresql]
|
11
|
-
required_app_servers = %w[unicorn trinidad
|
10
|
+
required_app_servers = %w[unicorn passenger] # TODO trinidad puma thin
|
12
11
|
|
13
12
|
selected_db = required_dbs.find { |db| scroll? db }
|
14
13
|
unless selected_db
|
@@ -29,8 +28,6 @@ after_everything do
|
|
29
28
|
if @git_url.size == 0
|
30
29
|
say_custom "eycloud", "Skipping... no git URI discovered"
|
31
30
|
else
|
32
|
-
run "ey login"
|
33
|
-
|
34
31
|
framework_env = multiple_choice "Which framework environment?", [
|
35
32
|
['Production', 'production'],
|
36
33
|
['Staging (solo environment only)', 'staging']
|
@@ -38,18 +35,18 @@ after_everything do
|
|
38
35
|
|
39
36
|
# TODO check for app name first
|
40
37
|
app_name = (@repo_name && @repo_name.size > 0) ? @repo_name : @name
|
41
|
-
say_custom "eycloud", "Checking for availability of #{app_name}"
|
42
|
-
@app_names ||= `bundle exec ey_cli apps | grep "-" | sed "s/.* //"`.split(/\n/)
|
43
|
-
while @app_names.include?(app_name)
|
44
|
-
|
45
|
-
end
|
38
|
+
# say_custom "eycloud", "Checking for availability of #{app_name}"
|
39
|
+
# @app_names ||= `bundle exec ey_cli apps | grep "-" | sed "s/.* //"`.split(/\n/)
|
40
|
+
# while @app_names.include?(app_name)
|
41
|
+
# app_name = ask_wizard "Application #{app_name} is already exists. What name?"
|
42
|
+
# end
|
46
43
|
|
47
44
|
if framework_env == "production"
|
48
45
|
say_custom "eycloud", "All configurations use High-CPU VM worth $170/mth each."
|
49
46
|
say_custom "eycloud", "Process numbers below are estimates."
|
50
47
|
cluster_config = multiple_choice "Select application cluster configuration?", [
|
51
|
-
['Basic - 5 CPU-based processes
|
52
|
-
['Pro -
|
48
|
+
['Basic - 1 app VM (5 CPU-based processes) & DB Master VM', 'basic'],
|
49
|
+
['Pro - 3 app highly-available VMs (15 CPU-based processes) & DB Master VM', 'ha'],
|
53
50
|
['Solo - 1 VM for app processes, DB and other services', 'solo']
|
54
51
|
]
|
55
52
|
else
|
@@ -58,6 +55,7 @@ after_everything do
|
|
58
55
|
|
59
56
|
name = File.basename(".")
|
60
57
|
command = "bundle exec ey_cli create_app --name #{app_name} --type rails3 "
|
58
|
+
# command += "--account #{account_name} " if account_name
|
61
59
|
command += "--git #{@git_url} "
|
62
60
|
command += "--framework_env #{framework_env} "
|
63
61
|
command += "--env_name #{@name}_#{framework_env} "
|
data/scrolls/github.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
gem 'github', '>= 0.7.0', :require => nil, :group => [:development]
|
2
2
|
|
3
3
|
after_everything do
|
4
|
+
github_private = multiple_choice "Create a GitHub repository?", [["Public", false], ["Private", true]]
|
5
|
+
|
4
6
|
tried_create_already = false
|
5
7
|
while (@git_uri = `git config remote.origin.url`.strip) && @git_uri.size == 0
|
6
8
|
if tried_create_already
|
@@ -30,9 +32,3 @@ exclusive: scm-hosting
|
|
30
32
|
|
31
33
|
requires: [git]
|
32
34
|
run_after: [git]
|
33
|
-
|
34
|
-
config:
|
35
|
-
- github_private:
|
36
|
-
prompt: "Create a GitHub repository?"
|
37
|
-
type: multiple_choice
|
38
|
-
choices: [["Public", false], ["Private", true]]
|
data/scrolls/mysql.rb
CHANGED
data/scrolls/postgresql.rb
CHANGED
@@ -3,12 +3,8 @@ gem "pg"
|
|
3
3
|
gsub_file "config/database.yml", /username: .*/, "username: #{config['pg_username']}"
|
4
4
|
gsub_file "config/database.yml", /password: .*/, "password: #{config['pg_password']}"
|
5
5
|
|
6
|
-
if scroll?("eycloud")
|
7
|
-
@db_stack = "postgresql"
|
8
|
-
end
|
9
|
-
|
10
6
|
after_bundler do
|
11
|
-
rake "db:create:all"
|
7
|
+
rake "db:create:all"
|
12
8
|
|
13
9
|
rakefile("sample.rake") do
|
14
10
|
<<-RUBY
|
@@ -37,13 +33,9 @@ run_before: [eycloud]
|
|
37
33
|
args: -d postgresql
|
38
34
|
|
39
35
|
config:
|
40
|
-
- auto_create:
|
41
|
-
type: boolean
|
42
|
-
prompt: "Create local PostgreSQL databases with default configuration?"
|
43
|
-
|
44
36
|
- pg_username:
|
45
37
|
type: string
|
46
|
-
prompt: "PostgreSQL username:"
|
38
|
+
prompt: "Local development PostgreSQL username:"
|
47
39
|
- pg_password:
|
48
40
|
type: string
|
49
|
-
prompt: "PostgreSQL password:"
|
41
|
+
prompt: "Local development PostgreSQL password:"
|
data/scrolls/rails_basics.rb
CHANGED
@@ -23,10 +23,10 @@ RUBY
|
|
23
23
|
```
|
24
24
|
ey deploy
|
25
25
|
```
|
26
|
-
|
26
|
+
Remove
|
27
27
|
## Thanks
|
28
28
|
|
29
|
-
The original scaffold for this application was created by [App Scrolls](http://
|
29
|
+
The original scaffold for this application was created by [App Scrolls](http://appscrolls.org).
|
30
30
|
|
31
31
|
The project was created with the following scrolls:
|
32
32
|
|
data/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appscrolls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ date: 2012-04-10 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
17
|
-
requirement: &
|
17
|
+
requirement: &70342722850040 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 3.2.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70342722850040
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: i18n
|
28
|
-
requirement: &
|
28
|
+
requirement: &70342722863260 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70342722863260
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: json
|
39
|
-
requirement: &
|
39
|
+
requirement: &70342722858780 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - =
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 1.6.5
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70342722858780
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: activesupport
|
50
|
-
requirement: &
|
50
|
+
requirement: &70342722880760 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '3.0'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70342722880760
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: thor
|
61
|
-
requirement: &
|
61
|
+
requirement: &70342722879780 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70342722879780
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: rspec
|
72
|
-
requirement: &
|
72
|
+
requirement: &70342722878300 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 2.5.0
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70342722878300
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: guard-rspec
|
83
|
-
requirement: &
|
83
|
+
requirement: &70342722874340 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70342722874340
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: cucumber
|
94
|
-
requirement: &
|
94
|
+
requirement: &70342722896460 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *70342722896460
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: guard-cucumber
|
105
|
-
requirement: &
|
105
|
+
requirement: &70342722895680 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ! '>='
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: '0'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *70342722895680
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: bundler
|
116
|
-
requirement: &
|
116
|
+
requirement: &70342722893980 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ~>
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: 1.1.0
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *70342722893980
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: guard-bundler
|
127
|
-
requirement: &
|
127
|
+
requirement: &70342722892740 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ! '>='
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
version: '0'
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *70342722892740
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: rails
|
138
|
-
requirement: &
|
138
|
+
requirement: &70342722891020 !ruby/object:Gem::Requirement
|
139
139
|
none: false
|
140
140
|
requirements:
|
141
141
|
- - ~>
|
@@ -143,7 +143,7 @@ dependencies:
|
|
143
143
|
version: '3.0'
|
144
144
|
type: :development
|
145
145
|
prerelease: false
|
146
|
-
version_requirements: *
|
146
|
+
version_requirements: *70342722891020
|
147
147
|
description: ! 'The App Scrolls is a magical tool to generate new Rails and modify
|
148
148
|
existing Rails applications (coming) to include your favourite, powerful magic. '
|
149
149
|
email:
|
@@ -279,7 +279,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
279
279
|
version: '0'
|
280
280
|
segments:
|
281
281
|
- 0
|
282
|
-
hash:
|
282
|
+
hash: 1962164780369127927
|
283
283
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
284
284
|
none: false
|
285
285
|
requirements:
|
@@ -288,7 +288,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
288
288
|
version: '0'
|
289
289
|
segments:
|
290
290
|
- 0
|
291
|
-
hash:
|
291
|
+
hash: 1962164780369127927
|
292
292
|
requirements: []
|
293
293
|
rubyforge_project:
|
294
294
|
rubygems_version: 1.8.17
|