pineapples 0.3.34 → 0.3.345

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/bin/pineapples +13 -13
  3. data/lib/pineapples.rb +3 -1
  4. data/lib/pineapples/actions.rb +6 -0
  5. data/lib/pineapples/actions/base/target.rb +41 -91
  6. data/lib/pineapples/actions/bundle.rb +16 -0
  7. data/lib/pineapples/actions/chmod.rb +3 -2
  8. data/lib/pineapples/actions/copy_file.rb +1 -1
  9. data/lib/pineapples/actions/empty_directory.rb +1 -1
  10. data/lib/pineapples/actions/gsub_file.rb +5 -3
  11. data/lib/pineapples/actions/inside.rb +5 -1
  12. data/lib/pineapples/actions/rails/erb_converters.rb +11 -4
  13. data/lib/pineapples/actions/rails/new_hash_syntax_converter.rb +36 -0
  14. data/lib/pineapples/actions/rails/rails.rb +1 -0
  15. data/lib/pineapples/actions/remove_file.rb +28 -28
  16. data/lib/pineapples/actions/shell.rb +43 -9
  17. data/lib/pineapples/app_generator.rb +154 -38
  18. data/lib/pineapples/helpers.rb +31 -0
  19. data/lib/pineapples/parser.rb +42 -37
  20. data/lib/pineapples/setting.rb +155 -155
  21. data/lib/pineapples/settings.rb +31 -31
  22. data/lib/pineapples/templates/.example.env.tt +15 -0
  23. data/lib/pineapples/templates/.gitignore +3 -0
  24. data/lib/pineapples/templates/.simplecov.tt +11 -0
  25. data/lib/pineapples/templates/Gemfile.tt +23 -5
  26. data/lib/pineapples/templates/Procfile +1 -1
  27. data/lib/pineapples/templates/Procfile.dev.tt +2 -0
  28. data/lib/pineapples/templates/app/assets/javascripts/libs.js +4 -2
  29. data/lib/pineapples/templates/app/assets/stylesheets/application.scss +4 -1
  30. data/lib/pineapples/templates/app/controllers/application_controller.rb.tt +0 -2
  31. data/lib/pineapples/templates/app/controllers/auth!=devise!/confirmations_controller.rb +11 -0
  32. data/lib/pineapples/templates/app/controllers/auth!=devise!/passwords_controller.rb.tt +12 -0
  33. data/lib/pineapples/templates/app/controllers/auth!=devise!/registrations_controller.rb.tt +25 -0
  34. data/lib/pineapples/templates/app/controllers/auth!=devise!/sessions_controller.rb.tt +59 -0
  35. data/lib/pineapples/templates/app/models/user!=needs_user_model!.rb.tt +7 -4
  36. data/lib/pineapples/templates/app/policies!=pundit!/application_policy.rb +49 -0
  37. data/lib/pineapples/templates/app/presenters/base_presenter.rb.tt +24 -0
  38. data/lib/pineapples/templates/app/responders/application_responder.rb +9 -0
  39. data/lib/pineapples/templates/app/services/service.rb +7 -0
  40. data/lib/pineapples/templates/app/views/common/_footer.html.erb +3 -3
  41. data/lib/pineapples/templates/app/views/common/_header.html.erb +5 -5
  42. data/lib/pineapples/templates/app/views/layouts/application.html.erb.tt +0 -1
  43. data/lib/pineapples/templates/app/views/pages/home.html.erb +0 -1
  44. data/lib/pineapples/templates/bin/nginx +4 -0
  45. data/lib/pineapples/templates/bin/rails +1 -0
  46. data/lib/pineapples/templates/bin/rspec +19 -0
  47. data/lib/pineapples/templates/bin/setup +111 -21
  48. data/lib/pineapples/templates/config.ru.tt +3 -0
  49. data/lib/pineapples/templates/config/application.rb.tt +3 -3
  50. data/lib/pineapples/templates/config/boot.rb +5 -5
  51. data/lib/pineapples/templates/config/database.yml.tt +1 -1
  52. data/lib/pineapples/templates/config/environments/{development.rb → development.rb.tt} +6 -1
  53. data/lib/pineapples/templates/config/environments/production.rb +1 -1
  54. data/lib/pineapples/templates/config/environments/test.rb +2 -2
  55. data/lib/pineapples/templates/config/i18n-tasks.yml +2 -0
  56. data/lib/pineapples/templates/config/initializers/{carrierwave.rb → carrierwave!=carrierwave!.rb} +22 -22
  57. data/lib/pineapples/templates/config/initializers/devise!=devise!.rb.tt +262 -0
  58. data/lib/pineapples/templates/config/initializers/kaminari.rb +10 -0
  59. data/lib/pineapples/templates/config/initializers/seed_migrations.rb +15 -0
  60. data/lib/pineapples/templates/config/initializers/simple_form.rb +165 -0
  61. data/lib/pineapples/templates/config/locales/devise.en.yml +60 -0
  62. data/lib/pineapples/templates/config/locales/{en.yml → en.yml.tt} +2 -0
  63. data/lib/pineapples/templates/config/locales/kaminari.en.yml +17 -0
  64. data/lib/pineapples/templates/config/locales/simple_form.en.yml +31 -0
  65. data/lib/pineapples/templates/config/nginx.conf.tt +147 -0
  66. data/lib/pineapples/templates/config/puma/development.rb.tt +27 -0
  67. data/lib/pineapples/templates/config/{puma.rb → puma/production.rb} +5 -5
  68. data/lib/pineapples/templates/config/routes.rb.tt +4 -0
  69. data/lib/pineapples/templates/config/spring.rb +4 -0
  70. data/lib/pineapples/templates/lib/devise!=devise!/{ajax_failure.rb → ajax_failure!=ajax_login!.rb} +0 -0
  71. data/lib/pineapples/templates/lib/logging/custom_rack_logger.rb +7 -9
  72. data/lib/pineapples/templates/lib/logging/custom_request_logger.rb +46 -48
  73. data/lib/pineapples/templates/lib/tasks/admin!=user_role_field!.rake +18 -19
  74. data/lib/pineapples/templates/lib/templates/{erb → erb!=erb!}/scaffold/_form.html.erb +0 -0
  75. data/lib/pineapples/templates/lib/templates/haml!=haml!/scaffold/_form.html.haml +9 -0
  76. data/lib/pineapples/templates/lib/templates/slim!=slim!/scaffold/_form.html.slim +9 -0
  77. data/lib/pineapples/templates/spec/i18n_spec.rb +17 -0
  78. data/lib/pineapples/templates/spec/rails_helper.rb +30 -0
  79. data/lib/pineapples/templates/spec/spec_helper.rb +44 -0
  80. data/lib/pineapples/templates/spec/support/capybara.rb +4 -0
  81. data/lib/pineapples/templates/spec/support/database_cleaner.rb +27 -0
  82. data/lib/pineapples/templates/spec/support/email_matchers.rb +17 -0
  83. data/lib/pineapples/templates/spec/support/factory_girl.rb +14 -0
  84. data/lib/pineapples/templates/spec/support/job_helpers.rb +8 -0
  85. data/lib/pineapples/templates/spec/support/matchers.rb +10 -0
  86. data/lib/pineapples/templates/spec/support/rake_tasks.rb +8 -0
  87. data/lib/pineapples/templates/spec/support/shoulda_matchers.rb +24 -0
  88. data/lib/pineapples/version.rb +2 -2
  89. data/pineapples.gemspec +1 -3
  90. metadata +46 -12
  91. data/lib/pineapples/app_builder.rb +0 -70
  92. data/lib/pineapples/build_tasks/root_files.rb +0 -23
  93. data/lib/pineapples/templates/app/controllers/auth/confirmations_controller.rb +0 -2
@@ -0,0 +1,8 @@
1
+ require 'rake'
2
+
3
+ # To test rake tasks with rspec
4
+ RSpec.configure do |config|
5
+ config.before(:suite) do
6
+ Rails.application.load_tasks
7
+ end
8
+ end
@@ -0,0 +1,24 @@
1
+ require 'shoulda/matchers'
2
+
3
+ # Collection of useful matchers for testing web-apps
4
+ # --------------
5
+ # Docs:
6
+ # https://gist.github.com/kyletcarlson/6234923
7
+ # https://github.com/thoughtbot/shoulda-matchers#activemodel-matchers
8
+ # http://thoughtbot.github.io/shoulda-matchers/
9
+ # http://thoughtbot.github.io/shoulda-matchers/docs/v3.0.0.rc1/
10
+ # http://thoughtbot.github.io/shoulda-matchers/docs/v3.0.0.rc1/Shoulda/Matchers/ActiveModel.html
11
+ # http://thoughtbot.github.io/shoulda-matchers/docs/v3.0.0.rc1/Shoulda/Matchers/ActiveRecord.html
12
+
13
+ Shoulda::Matchers.configure do |config|
14
+ config.integrate do |with|
15
+ with.test_framework :rspec
16
+
17
+ # Choose one or more libraries:
18
+ # with.library :active_record
19
+ # with.library :active_model
20
+ # with.library :action_controller
21
+ # Or, choose the following (which implies all of the above):
22
+ with.library :rails
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  module Pineapples
2
2
  RAILS_VERSION = '~> 4.2'
3
- RUBY_VERSION = IO.read("#{File.dirname(__FILE__)}/../../.ruby-version").strip
4
- VERSION = '0.3.34'
3
+ RUBY_VERSION = IO.read("#{__dir__}/../../.ruby-version").strip
4
+ VERSION = '0.3.345'
5
5
  end
@@ -28,9 +28,7 @@ Rails app generator based on Suspenders by Thoughtbot and Raygun by Carbon Five
28
28
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
29
29
  spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
30
30
 
31
-
32
-
33
- spec.add_dependency 'rails', Pineapples::RAILS_VERSION
31
+ spec.add_dependency 'activesupport', '~> 4.2'
34
32
  spec.add_dependency 'bundler', '~> 1.10'
35
33
  spec.add_dependency 'colorize', '~> 0'
36
34
  spec.add_dependency 'inquirer', '~> 0.2'
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pineapples
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.34
4
+ version: 0.3.345
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Glukhov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-21 00:00:00.000000000 Z
11
+ date: 2015-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
@@ -179,6 +179,7 @@ files:
179
179
  - lib/pineapples/actions/apply.rb
180
180
  - lib/pineapples/actions/base/action.rb
181
181
  - lib/pineapples/actions/base/target.rb
182
+ - lib/pineapples/actions/bundle.rb
182
183
  - lib/pineapples/actions/chmod.rb
183
184
  - lib/pineapples/actions/copy_file.rb
184
185
  - lib/pineapples/actions/create_file.rb
@@ -193,14 +194,13 @@ files:
193
194
  - lib/pineapples/actions/prepend_to_class.rb
194
195
  - lib/pineapples/actions/rails/copy_migration.rb
195
196
  - lib/pineapples/actions/rails/erb_converters.rb
197
+ - lib/pineapples/actions/rails/new_hash_syntax_converter.rb
196
198
  - lib/pineapples/actions/rails/rails.rb
197
199
  - lib/pineapples/actions/remove_file.rb
198
200
  - lib/pineapples/actions/ruby.rb
199
201
  - lib/pineapples/actions/shell.rb
200
202
  - lib/pineapples/actions/template.rb
201
- - lib/pineapples/app_builder.rb
202
203
  - lib/pineapples/app_generator.rb
203
- - lib/pineapples/build_tasks/root_files.rb
204
204
  - lib/pineapples/error.rb
205
205
  - lib/pineapples/helpers.rb
206
206
  - lib/pineapples/parser.rb
@@ -211,29 +211,40 @@ files:
211
211
  - lib/pineapples/templates/.example.env.tt
212
212
  - lib/pineapples/templates/.example.rspec
213
213
  - lib/pineapples/templates/.gitignore
214
+ - lib/pineapples/templates/.simplecov.tt
214
215
  - lib/pineapples/templates/Aptfile
215
216
  - lib/pineapples/templates/Gemfile.tt
216
217
  - lib/pineapples/templates/Guardfile
217
218
  - lib/pineapples/templates/Procfile
219
+ - lib/pineapples/templates/Procfile.dev.tt
218
220
  - lib/pineapples/templates/README.md.tt
219
221
  - lib/pineapples/templates/Rakefile
220
222
  - lib/pineapples/templates/app/assets/javascripts/application.js
221
223
  - lib/pineapples/templates/app/assets/javascripts/libs.js
222
224
  - lib/pineapples/templates/app/assets/stylesheets/application.scss
223
225
  - lib/pineapples/templates/app/controllers/application_controller.rb.tt
224
- - lib/pineapples/templates/app/controllers/auth/confirmations_controller.rb
226
+ - lib/pineapples/templates/app/controllers/auth!=devise!/confirmations_controller.rb
227
+ - lib/pineapples/templates/app/controllers/auth!=devise!/passwords_controller.rb.tt
228
+ - lib/pineapples/templates/app/controllers/auth!=devise!/registrations_controller.rb.tt
229
+ - lib/pineapples/templates/app/controllers/auth!=devise!/sessions_controller.rb.tt
225
230
  - lib/pineapples/templates/app/controllers/pages_controller.rb
226
231
  - lib/pineapples/templates/app/helpers/application_helper.rb
227
232
  - lib/pineapples/templates/app/helpers/title_helper.rb
228
233
  - lib/pineapples/templates/app/models/user!=needs_user_model!.rb.tt
234
+ - lib/pineapples/templates/app/policies!=pundit!/application_policy.rb
235
+ - lib/pineapples/templates/app/presenters/base_presenter.rb.tt
236
+ - lib/pineapples/templates/app/responders/application_responder.rb
237
+ - lib/pineapples/templates/app/services/service.rb
229
238
  - lib/pineapples/templates/app/views/common/_flashes.html.erb
230
239
  - lib/pineapples/templates/app/views/common/_footer.html.erb
231
240
  - lib/pineapples/templates/app/views/common/_header.html.erb
232
241
  - lib/pineapples/templates/app/views/layouts/application.html.erb.tt
233
242
  - lib/pineapples/templates/app/views/pages/home.html.erb
234
243
  - lib/pineapples/templates/bin/bundle
244
+ - lib/pineapples/templates/bin/nginx
235
245
  - lib/pineapples/templates/bin/rails
236
246
  - lib/pineapples/templates/bin/rake
247
+ - lib/pineapples/templates/bin/rspec
237
248
  - lib/pineapples/templates/bin/setup
238
249
  - lib/pineapples/templates/bin/spring
239
250
  - lib/pineapples/templates/browserlist
@@ -242,31 +253,41 @@ files:
242
253
  - lib/pineapples/templates/config/boot.rb
243
254
  - lib/pineapples/templates/config/database.yml.tt
244
255
  - lib/pineapples/templates/config/environment.rb
245
- - lib/pineapples/templates/config/environments/development.rb
256
+ - lib/pineapples/templates/config/environments/development.rb.tt
246
257
  - lib/pineapples/templates/config/environments/production.rb
247
258
  - lib/pineapples/templates/config/environments/test.rb
248
259
  - lib/pineapples/templates/config/i18n-tasks.yml
249
260
  - lib/pineapples/templates/config/initializers/assets.rb
250
261
  - lib/pineapples/templates/config/initializers/backtrace_silencers.rb
251
- - lib/pineapples/templates/config/initializers/carrierwave.rb
262
+ - lib/pineapples/templates/config/initializers/carrierwave!=carrierwave!.rb
252
263
  - lib/pineapples/templates/config/initializers/cookies_serializer.rb
264
+ - lib/pineapples/templates/config/initializers/devise!=devise!.rb.tt
253
265
  - lib/pineapples/templates/config/initializers/filter_parameters_logging.rb
254
266
  - lib/pineapples/templates/config/initializers/inflections.rb
267
+ - lib/pineapples/templates/config/initializers/kaminari.rb
255
268
  - lib/pineapples/templates/config/initializers/mime_types.rb
256
269
  - lib/pineapples/templates/config/initializers/pry.rb
257
270
  - lib/pineapples/templates/config/initializers/redis.rb
271
+ - lib/pineapples/templates/config/initializers/seed_migrations.rb
258
272
  - lib/pineapples/templates/config/initializers/session_store.rb.tt
273
+ - lib/pineapples/templates/config/initializers/simple_form.rb
259
274
  - lib/pineapples/templates/config/initializers/wrap_parameters.rb
260
- - lib/pineapples/templates/config/locales/en.yml
261
- - lib/pineapples/templates/config/puma.rb
275
+ - lib/pineapples/templates/config/locales/devise.en.yml
276
+ - lib/pineapples/templates/config/locales/en.yml.tt
277
+ - lib/pineapples/templates/config/locales/kaminari.en.yml
278
+ - lib/pineapples/templates/config/locales/simple_form.en.yml
279
+ - lib/pineapples/templates/config/nginx.conf.tt
280
+ - lib/pineapples/templates/config/puma/development.rb.tt
281
+ - lib/pineapples/templates/config/puma/production.rb
262
282
  - lib/pineapples/templates/config/routes.rb.tt
263
283
  - lib/pineapples/templates/config/secrets.yml
264
284
  - lib/pineapples/templates/config/smtp.rb
285
+ - lib/pineapples/templates/config/spring.rb
265
286
  - lib/pineapples/templates/db/migrate/01_enable_postgres_extensions.rb
266
287
  - lib/pineapples/templates/db/migrate/02_create_data_migrations.rb
267
288
  - lib/pineapples/templates/db/migrate/03_devise_create_users.rb
268
289
  - lib/pineapples/templates/db/migrate/04_add_role_field_to_users.rb
269
- - lib/pineapples/templates/lib/devise!=devise!/ajax_failure.rb
290
+ - lib/pineapples/templates/lib/devise!=devise!/ajax_failure!=ajax_login!.rb
270
291
  - lib/pineapples/templates/lib/extensions/form_builder.rb
271
292
  - lib/pineapples/templates/lib/extensions/http_errors.rb
272
293
  - lib/pineapples/templates/lib/extensions/to_boolean.rb
@@ -276,13 +297,26 @@ files:
276
297
  - lib/pineapples/templates/lib/simple_form/components/prepend.rb
277
298
  - lib/pineapples/templates/lib/tasks/admin!=user_role_field!.rake
278
299
  - lib/pineapples/templates/lib/tasks/auto_annotate_models.rake
279
- - lib/pineapples/templates/lib/templates/erb/scaffold/_form.html.erb
300
+ - lib/pineapples/templates/lib/templates/erb!=erb!/scaffold/_form.html.erb
301
+ - lib/pineapples/templates/lib/templates/haml!=haml!/scaffold/_form.html.haml
302
+ - lib/pineapples/templates/lib/templates/slim!=slim!/scaffold/_form.html.slim
280
303
  - lib/pineapples/templates/lib/virtus/virtus.rb
281
304
  - lib/pineapples/templates/public/404.html
282
305
  - lib/pineapples/templates/public/422.html
283
306
  - lib/pineapples/templates/public/500.html
284
307
  - lib/pineapples/templates/public/favicon.ico
285
308
  - lib/pineapples/templates/public/robots.txt
309
+ - lib/pineapples/templates/spec/i18n_spec.rb
310
+ - lib/pineapples/templates/spec/rails_helper.rb
311
+ - lib/pineapples/templates/spec/spec_helper.rb
312
+ - lib/pineapples/templates/spec/support/capybara.rb
313
+ - lib/pineapples/templates/spec/support/database_cleaner.rb
314
+ - lib/pineapples/templates/spec/support/email_matchers.rb
315
+ - lib/pineapples/templates/spec/support/factory_girl.rb
316
+ - lib/pineapples/templates/spec/support/job_helpers.rb
317
+ - lib/pineapples/templates/spec/support/matchers.rb
318
+ - lib/pineapples/templates/spec/support/rake_tasks.rb
319
+ - lib/pineapples/templates/spec/support/shoulda_matchers.rb
286
320
  - lib/pineapples/version.rb
287
321
  - pineapples.gemspec
288
322
  homepage: http://github.com/pineapplethief/pineapples
@@ -1,70 +0,0 @@
1
- require 'pineapples/actions'
2
- #require 'pineapples/build_tasks/root_files'
3
-
4
- module Pineapples
5
- class AppBuilder
6
- include Pineapples::Actions
7
-
8
- def root_files
9
- create_file '.ruby-version', "#{Pineapples::RUBY_VERSION}\n"
10
- create_file '.ruby-gemset', app_name
11
-
12
- template 'config.ru'
13
- template 'Gemfile'
14
- copy_file 'Guardfile'
15
- copy_file 'Procfile'
16
- copy_file 'Rakefile'
17
-
18
- copy_file '.gitignore'
19
-
20
- template 'README.md.tt'
21
- copy_file 'browserlist'
22
- copy_file '.editor-config'
23
-
24
- template '.example.env.tt'
25
-
26
- if options.heroku?
27
- copy_file '.buildpacks'
28
- template 'Aptfile'
29
- end
30
-
31
- if !options.skip_test?
32
- copy_file '.example.rspec'
33
- end
34
- end
35
-
36
- def app_files
37
- directory 'app', except: 'user.rb'
38
-
39
- inside 'app' do
40
- keep_file 'assets/fonts'
41
- keep_file 'assets/images'
42
- if create_user_model?
43
- template 'models/user.rb.tt'
44
- else
45
- keep_file 'models'
46
- end
47
- keep_file 'mailers'
48
-
49
- keep_file 'controllers/concerns'
50
- keep_file 'models/concerns'
51
- end
52
-
53
- end
54
-
55
- def bin_files
56
- directory 'bin' do |content|
57
- "#{shebang}\n" + content
58
- end
59
- chmod 'bin', 0755 & ~File.umask, verbose: false
60
- end
61
-
62
- def config_files
63
- directory 'config'
64
-
65
- inside 'config' do
66
- end
67
- end
68
-
69
- end
70
- end
@@ -1,23 +0,0 @@
1
- module Pineapples
2
- module BuildTasks
3
- module RootFiles
4
- def readme
5
- end
6
-
7
- def rakefile
8
- end
9
-
10
- def configru
11
- end
12
-
13
- def gitignore
14
- end
15
-
16
- def gemfile
17
- end
18
-
19
- # build(:) if !options.skip_git?
20
- # build(:gemfile) if !options.skip_gemfile?
21
- end
22
- end
23
- end
@@ -1,2 +0,0 @@
1
- class Auth::ConfirmationsController < Devise::ConfirmationsController
2
- end