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.
@@ -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