welaika-suspenders 1.4.0 → 2.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -7
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +7 -2
  5. data/CONTRIBUTING.md +24 -26
  6. data/Gemfile.lock +94 -69
  7. data/NEWS.md +183 -0
  8. data/README.md +21 -127
  9. data/Rakefile +3 -3
  10. data/bin/rake +16 -0
  11. data/bin/rspec +16 -0
  12. data/bin/setup +13 -0
  13. data/bin/welaika-suspenders +8 -11
  14. data/lib/{welaika_suspenders → suspenders}/actions.rb +1 -16
  15. data/lib/suspenders/app_builder.rb +424 -0
  16. data/lib/{welaika_suspenders → suspenders}/generators/app_generator.rb +50 -54
  17. data/lib/suspenders/version.rb +5 -0
  18. data/lib/suspenders.rb +4 -0
  19. data/{features/support → spec/fakes}/bin/heroku +0 -0
  20. data/{features/support → spec/fakes}/bin/hub +0 -0
  21. data/spec/features/github_spec.rb +10 -0
  22. data/spec/features/heroku_spec.rb +19 -0
  23. data/spec/features/new_project_spec.rb +115 -0
  24. data/spec/spec_helper.rb +24 -0
  25. data/{features → spec}/support/fake_github.rb +1 -1
  26. data/spec/support/fake_heroku.rb +38 -0
  27. data/spec/support/suspenders.rb +49 -0
  28. data/suspenders.gemspec +36 -0
  29. data/templates/Gemfile.erb +58 -0
  30. data/templates/Procfile +1 -2
  31. data/templates/README.md.erb +28 -2
  32. data/templates/_flashes.html.slim +4 -3
  33. data/templates/_javascript.html.slim +3 -0
  34. data/templates/action_mailer.rb +5 -0
  35. data/templates/application.css.scss +3 -4
  36. data/templates/bin_setup.erb +34 -0
  37. data/templates/config_i18n_tasks.yml +13 -0
  38. data/templates/config_locales_en.yml.erb +19 -0
  39. data/templates/database_cleaner_rspec.rb +1 -4
  40. data/templates/development_seeds.rb +12 -0
  41. data/templates/errors.rb +22 -16
  42. data/templates/{factory_girl_syntax_rspec.rb → factory_girl_rspec.rb} +0 -0
  43. data/templates/i18n.rb +3 -0
  44. data/templates/newrelic.yml.erb +34 -0
  45. data/templates/postgresql_database.yml.erb +1 -1
  46. data/templates/rack_timeout.rb +1 -1
  47. data/templates/rails_helper.rb +23 -0
  48. data/templates/sample.env +1 -12
  49. data/templates/secrets.yml +14 -0
  50. data/templates/smtp.rb +9 -10
  51. data/templates/spec_helper.rb +16 -0
  52. data/templates/staging.rb +5 -0
  53. data/templates/suspenders_gitignore +10 -9
  54. data/templates/suspenders_layout.html.slim +14 -0
  55. data/templates/travis.yml.erb +24 -0
  56. data/templates/unicorn.rb +12 -9
  57. metadata +100 -80
  58. data/.DS_Store +0 -0
  59. data/features/github_repo.feature +0 -8
  60. data/features/heroku_true.feature +0 -9
  61. data/features/rake_clean.feature +0 -15
  62. data/features/step_definitions/suspenders_steps.rb +0 -69
  63. data/features/support/env.rb +0 -10
  64. data/features/support/fake_heroku.rb +0 -21
  65. data/lib/welaika_suspenders/app_builder.rb +0 -318
  66. data/lib/welaika_suspenders/version.rb +0 -4
  67. data/lib/welaika_suspenders/version_check.rb +0 -26
  68. data/templates/.DS_Store +0 -0
  69. data/templates/Gemfile_clean +0 -56
  70. data/templates/bin_setup +0 -11
  71. data/templates/capybara_selectors.rb +0 -29
  72. data/templates/config_locales_en.yml +0 -11
  73. data/templates/create_dragonfly_jobs.rb +0 -9
  74. data/templates/dragonfly.rb +0 -9
  75. data/templates/dragonfly_initializer.rb +0 -47
  76. data/templates/exist_in_db.rb +0 -6
  77. data/templates/factories_spec.rb +0 -14
  78. data/templates/factories_spec_rake_task.rb +0 -9
  79. data/templates/import_common_javascripts +0 -4
  80. data/templates/model_spec_helper.rb +0 -38
  81. data/templates/presenters.rb +0 -3
  82. data/templates/rails_root_definition.rb +0 -2
  83. data/templates/rspec +0 -2
  84. data/templates/rspec_config.rb +0 -16
  85. data/templates/simplecov_init.rb +0 -3
  86. data/templates/suspenders_layout.html.slim.erb +0 -12
  87. data/templates/unit_spec_helper.rb +0 -15
  88. data/welaika-suspenders.gemspec +0 -35
metadata CHANGED
@@ -1,90 +1,122 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: welaika-suspenders
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.0.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoughtbot
8
- - welaika
8
+ - weLaika
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-24 00:00:00.000000000 Z
12
+ date: 2014-11-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: bundler
15
+ name: bitters
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '1.3'
20
+ version: 0.10.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '1.3'
27
+ version: 0.10.0
28
28
  - !ruby/object:Gem::Dependency
29
- name: hub
29
+ name: bundler
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ~>
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1.10'
34
+ version: '1.3'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '1.10'
41
+ version: '1.3'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rails
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - '='
47
47
  - !ruby/object:Gem::Version
48
- version: 4.0.0
48
+ version: 4.1.7
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - '='
54
54
  - !ruby/object:Gem::Version
55
- version: 4.0.0
55
+ version: 4.1.7
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: aruba
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 0.5.2
62
+ version: '0.5'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: 0.5.2
69
+ version: '0.5'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: cucumber
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
76
  version: '1.2'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.2'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rspec
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '2.0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '2.0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: capybara
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '2.2'
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: 2.2.0
108
+ type: :development
109
+ prerelease: false
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - "~>"
113
+ - !ruby/object:Gem::Version
114
+ version: '2.2'
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 2.2.0
84
118
  description: |
85
- Suspenders is a base Rails project that you can upgrade. It is used by
86
- thoughtbot to get a jump start on a working app. Use Suspenders if you're in a
87
- rush to build something amazing; don't use it if you like missing deadlines.
119
+ weLaika's fork of the famous thoughbot suspenders gem.
88
120
  email: info@welaika.com
89
121
  executables:
90
122
  - welaika-suspenders
@@ -93,9 +125,9 @@ extra_rdoc_files:
93
125
  - README.md
94
126
  - LICENSE
95
127
  files:
96
- - .DS_Store
97
- - .gitignore
98
- - .travis.yml
128
+ - ".gitignore"
129
+ - ".ruby-version"
130
+ - ".travis.yml"
99
131
  - CONTRIBUTING.md
100
132
  - Gemfile
101
133
  - Gemfile.lock
@@ -103,90 +135,78 @@ files:
103
135
  - NEWS.md
104
136
  - README.md
105
137
  - Rakefile
138
+ - bin/rake
139
+ - bin/rspec
140
+ - bin/setup
106
141
  - bin/welaika-suspenders
107
- - features/github_repo.feature
108
- - features/heroku_true.feature
109
- - features/rake_clean.feature
110
- - features/step_definitions/suspenders_steps.rb
111
- - features/support/bin/heroku
112
- - features/support/bin/hub
113
- - features/support/env.rb
114
- - features/support/fake_github.rb
115
- - features/support/fake_heroku.rb
116
- - lib/welaika_suspenders/actions.rb
117
- - lib/welaika_suspenders/app_builder.rb
118
- - lib/welaika_suspenders/generators/app_generator.rb
119
- - lib/welaika_suspenders/version.rb
120
- - lib/welaika_suspenders/version_check.rb
121
- - templates/.DS_Store
122
- - templates/Gemfile_clean
142
+ - lib/suspenders.rb
143
+ - lib/suspenders/actions.rb
144
+ - lib/suspenders/app_builder.rb
145
+ - lib/suspenders/generators/app_generator.rb
146
+ - lib/suspenders/version.rb
147
+ - spec/fakes/bin/heroku
148
+ - spec/fakes/bin/hub
149
+ - spec/features/github_spec.rb
150
+ - spec/features/heroku_spec.rb
151
+ - spec/features/new_project_spec.rb
152
+ - spec/spec_helper.rb
153
+ - spec/support/fake_github.rb
154
+ - spec/support/fake_heroku.rb
155
+ - spec/support/suspenders.rb
156
+ - suspenders.gemspec
157
+ - templates/Gemfile.erb
123
158
  - templates/Procfile
124
159
  - templates/README.md.erb
125
160
  - templates/_flashes.html.slim
126
161
  - templates/_javascript.html.slim
162
+ - templates/action_mailer.rb
127
163
  - templates/application.css.scss
128
164
  - templates/background_jobs_rspec.rb
129
- - templates/bin_setup
130
- - templates/capybara_selectors.rb
131
- - templates/config_locales_en.yml
132
- - templates/create_dragonfly_jobs.rb
165
+ - templates/bin_setup.erb
166
+ - templates/config_i18n_tasks.yml
167
+ - templates/config_locales_en.yml.erb
133
168
  - templates/database_cleaner_rspec.rb
169
+ - templates/development_seeds.rb
134
170
  - templates/disable_xml_params.rb
135
- - templates/dragonfly.rb
136
- - templates/dragonfly_initializer.rb
137
171
  - templates/errors.rb
138
- - templates/exist_in_db.rb
139
- - templates/factories_spec.rb
140
- - templates/factories_spec_rake_task.rb
141
- - templates/factory_girl_syntax_rspec.rb
142
- - templates/import_common_javascripts
143
- - templates/model_spec_helper.rb
172
+ - templates/factory_girl_rspec.rb
173
+ - templates/i18n.rb
174
+ - templates/newrelic.yml.erb
144
175
  - templates/postgresql_database.yml.erb
145
- - templates/presenters.rb
146
176
  - templates/rack_timeout.rb
147
- - templates/rails_root_definition.rb
148
- - templates/rspec
149
- - templates/rspec_config.rb
177
+ - templates/rails_helper.rb
150
178
  - templates/sample.env
151
- - templates/simplecov_init.rb
179
+ - templates/secrets.yml
152
180
  - templates/smtp.rb
181
+ - templates/spec_helper.rb
182
+ - templates/staging.rb
153
183
  - templates/suspenders_gitignore
154
- - templates/suspenders_layout.html.slim.erb
184
+ - templates/suspenders_layout.html.slim
185
+ - templates/travis.yml.erb
155
186
  - templates/unicorn.rb
156
- - templates/unit_spec_helper.rb
157
- - welaika-suspenders.gemspec
158
187
  homepage: http://github.com/welaika/welaika-suspenders
159
188
  licenses:
160
189
  - MIT
161
190
  metadata: {}
162
191
  post_install_message:
163
192
  rdoc_options:
164
- - --charset=UTF-8
193
+ - "--charset=UTF-8"
165
194
  require_paths:
166
195
  - lib
167
196
  required_ruby_version: !ruby/object:Gem::Requirement
168
197
  requirements:
169
- - - '>='
198
+ - - ">="
170
199
  - !ruby/object:Gem::Version
171
- version: 1.9.2
200
+ version: 2.1.4
172
201
  required_rubygems_version: !ruby/object:Gem::Requirement
173
202
  requirements:
174
- - - '>='
203
+ - - ">"
175
204
  - !ruby/object:Gem::Version
176
- version: '0'
205
+ version: 1.3.1
177
206
  requirements: []
178
207
  rubyforge_project:
179
- rubygems_version: 2.0.0
208
+ rubygems_version: 2.4.2
180
209
  signing_key:
181
210
  specification_version: 4
182
- summary: Generate a Rails app using weLaika's best practices.
183
- test_files:
184
- - features/github_repo.feature
185
- - features/heroku_true.feature
186
- - features/rake_clean.feature
187
- - features/step_definitions/suspenders_steps.rb
188
- - features/support/bin/heroku
189
- - features/support/bin/hub
190
- - features/support/env.rb
191
- - features/support/fake_github.rb
192
- - features/support/fake_heroku.rb
211
+ summary: Generate a Rails app using thoughtbot's best practices.
212
+ test_files: []
data/.DS_Store DELETED
Binary file
@@ -1,8 +0,0 @@
1
- @disable-bundler
2
- Feature: Creating a Github repo
3
-
4
- Scenario: --github=organization/project
5
- When I suspend a project called "test_project" with:
6
- | argument | value |
7
- | --github | organization/project |
8
- Then the "organization/project" Github repo should exist
@@ -1,9 +0,0 @@
1
- @disable-bundler
2
- Feature: Creating a Heroku app
3
-
4
- Scenario: --heroku=true
5
- When I suspend a project called "test_project" with:
6
- | argument | value |
7
- | --heroku | true |
8
- Then the "test_project-staging" Heroku app should exist
9
- And the "test_project-production" Heroku app should exist
@@ -1,15 +0,0 @@
1
- @disable-bundler
2
- Feature: Rake works in the suspended project
3
- Background:
4
- Given I ensure no databases exist for "test_project"
5
-
6
- Scenario: Running rake in the suspended project
7
- When I suspend a project called "test_project"
8
- And I cd to the "test_project" root
9
- Then I can cleanly rake the project
10
-
11
- Scenario: Making a spec then running rake
12
- When I suspend a project called "test_project"
13
- And I cd to the "test_project" root
14
- And I generate "model post title:string"
15
- Then I can cleanly rake the project
@@ -1,69 +0,0 @@
1
- require 'aruba/cucumber'
2
-
3
- When 'I run rake' do
4
- in_current_dir do
5
- run_simple 'bundle exec rake'
6
- end
7
- end
8
-
9
- When 'I run the rake task "$task_name"' do |task_name|
10
- in_current_dir do
11
- run_simple "bundle exec rake #{task_name}"
12
- end
13
- end
14
-
15
- When 'I generate "$generator_with_args"' do |generator_with_args|
16
- in_current_dir do
17
- run_simple "bundle exec rails generate #{generator_with_args}"
18
- end
19
- end
20
-
21
- When 'I ensure no databases exist for "$project_name"' do |project_name|
22
- run "dropdb #{project_name}_development"
23
- run "dropdb #{project_name}_test"
24
- end
25
-
26
- When 'I suspend a project called "$project_name"' do |project_name|
27
- suspenders_bin = File.expand_path(File.join('..', '..', 'bin', 'welaika-suspenders'), File.dirname(__FILE__))
28
- run_simple "#{suspenders_bin} #{project_name}"
29
- end
30
-
31
- When /^I suspend a project called "([^"]*)" with:$/ do |project_name, arguments_table|
32
- suspenders_bin = File.expand_path(File.join('..', '..', 'bin', 'welaika-suspenders'), File.dirname(__FILE__))
33
- arguments = arguments_table.hashes.inject([]) do |accum, argument|
34
- accum << "#{argument['argument']}=#{argument['value']}"
35
- end.join
36
- run_simple "#{suspenders_bin} #{project_name} #{arguments}"
37
- end
38
-
39
- When 'I cd to the "$test_project" root' do |dirname|
40
- cd dirname
41
- end
42
-
43
- Then 'I can cleanly rake the project' do
44
- steps %{
45
- And I run the rake task "db:create"
46
- And I run the rake task "db:migrate"
47
- And I run the rake task "db:test:prepare"
48
- And I run rake
49
- }
50
- end
51
-
52
- Then %r{"(.*)" should not be installed} do |gem_name|
53
- in_current_dir do
54
- system("bundle show #{gem_name} 2>&1 > /dev/null").should be_false
55
- end
56
- end
57
-
58
- Then %r{"(.*)" should not be included in "(.*)"} do |content, file_path|
59
- check_file_content file_path, content, false
60
- end
61
-
62
- Then %r{the "([^"]*)" Heroku app should exist} do |app_name|
63
- FakeHeroku.should have_created_app(app_name)
64
- end
65
-
66
- Then %r{the "([^"]*)" Github repo should exist} do |repo_name|
67
- FakeGithub.should have_created_repo(repo_name)
68
- end
69
-
@@ -1,10 +0,0 @@
1
- Before do
2
- ENV['TESTING'] = 'true'
3
- @aruba_timeout_seconds = 560
4
- end
5
-
6
- After do
7
- FakeHeroku.clear!
8
- FakeGithub.clear!
9
- FileUtils.rm_rf 'test_project'
10
- end
@@ -1,21 +0,0 @@
1
- class FakeHeroku
2
- RECORDER = File.expand_path(File.join('..', '..', 'tmp', 'heroku_commands'), File.dirname(__FILE__))
3
-
4
- def initialize(args)
5
- @args = args
6
- end
7
-
8
- def run!
9
- File.open(RECORDER, 'a') do |file|
10
- file.write @args.join(' ')
11
- end
12
- end
13
-
14
- def self.clear!
15
- FileUtils.rm_rf RECORDER
16
- end
17
-
18
- def self.has_created_app?(app_name)
19
- File.open(RECORDER, 'r').read.include?("create #{app_name}")
20
- end
21
- end