appscrolls 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- If you choose the `eycloud` scroll, your application will be automatically deployed to [Engine Yard Cloud][6]. Your code will also be automatically stored on a private/public GitHub repository.
76
+ Example:
77
77
 
78
- The `eycloud` scroll magically transforms many other scrolls to work specifically for [Engine Yard Cloud][6]. For example:
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
- * `postgresql` - the environment will have PostgreSQL selected instead of MySQL
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
@@ -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
@@ -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 passenger puma thin]
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
- app_name = ask_wizard "Application #{app_name} is already exists. What name?"
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 (1 VM) & DB Master VM', 'basic'],
52
- ['Pro - 15 CPU-based highly-available processes (3 VMs) & DB Master VM', 'ha'],
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} "
@@ -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]]
@@ -1,9 +1,5 @@
1
1
  gem "mysql2"
2
2
 
3
- if scroll?("eycloud")
4
- @db_stack = "mysql"
5
- end
6
-
7
3
  after_bundler do
8
4
  rake "db:create:all" if config['auto_create']
9
5
 
@@ -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" if config['auto_create']
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:"
@@ -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://railsappscrolls.org).
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
 
@@ -29,7 +29,7 @@ category: stylesheet
29
29
  exclusive: stylesheet
30
30
  tags: [css, stylesheet]
31
31
 
32
- requires: [simple_form]
32
+ requires: [simple_form, rails_basics]
33
33
  run_before: [simple_form]
34
34
 
35
35
  config:
data/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module AppScrollsScrolls
2
- VERSION = "0.8.0"
2
+ VERSION = "0.8.1"
3
3
  end
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.0
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: &70196379709560 !ruby/object:Gem::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: *70196379709560
25
+ version_requirements: *70342722850040
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: i18n
28
- requirement: &70196379708380 !ruby/object:Gem::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: *70196379708380
36
+ version_requirements: *70342722863260
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: json
39
- requirement: &70196379706120 !ruby/object:Gem::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: *70196379706120
47
+ version_requirements: *70342722858780
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: activesupport
50
- requirement: &70196379726380 !ruby/object:Gem::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: *70196379726380
58
+ version_requirements: *70342722880760
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: thor
61
- requirement: &70196379720980 !ruby/object:Gem::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: *70196379720980
69
+ version_requirements: *70342722879780
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rspec
72
- requirement: &70196379735760 !ruby/object:Gem::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: *70196379735760
80
+ version_requirements: *70342722878300
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: guard-rspec
83
- requirement: &70196379733280 !ruby/object:Gem::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: *70196379733280
91
+ version_requirements: *70342722874340
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: cucumber
94
- requirement: &70196379730960 !ruby/object:Gem::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: *70196379730960
102
+ version_requirements: *70342722896460
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: guard-cucumber
105
- requirement: &70196379728900 !ruby/object:Gem::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: *70196379728900
113
+ version_requirements: *70342722895680
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: bundler
116
- requirement: &70196379755440 !ruby/object:Gem::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: *70196379755440
124
+ version_requirements: *70342722893980
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: guard-bundler
127
- requirement: &70196379754620 !ruby/object:Gem::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: *70196379754620
135
+ version_requirements: *70342722892740
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: rails
138
- requirement: &70196379753920 !ruby/object:Gem::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: *70196379753920
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: 703188970612526833
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: 703188970612526833
291
+ hash: 1962164780369127927
292
292
  requirements: []
293
293
  rubyforge_project:
294
294
  rubygems_version: 1.8.17