pineapples 0.1.0 → 0.3.34

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.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rspec +1 -0
  4. data/.ruby-gemset +1 -0
  5. data/bin/pineapples +4 -9
  6. data/lib/pineapples/actions/apply.rb +34 -0
  7. data/lib/pineapples/actions/base/action.rb +72 -0
  8. data/lib/pineapples/actions/base/target.rb +136 -0
  9. data/lib/pineapples/actions/chmod.rb +28 -0
  10. data/lib/pineapples/actions/copy_file.rb +48 -0
  11. data/lib/pineapples/actions/create_file.rb +114 -0
  12. data/lib/pineapples/actions/directory.rb +115 -0
  13. data/lib/pineapples/actions/empty_directory.rb +71 -0
  14. data/lib/pineapples/actions/get.rb +38 -0
  15. data/lib/pineapples/actions/git.rb +17 -0
  16. data/lib/pineapples/actions/gsub_file.rb +36 -0
  17. data/lib/pineapples/actions/insert_into_file.rb +131 -0
  18. data/lib/pineapples/actions/inside.rb +69 -0
  19. data/lib/pineapples/actions/keep_file.rb +15 -0
  20. data/lib/pineapples/actions/prepend_to_class.rb +26 -0
  21. data/lib/pineapples/actions/rails/copy_migration.rb +67 -0
  22. data/lib/pineapples/actions/rails/erb_converters.rb +37 -0
  23. data/lib/pineapples/actions/rails/rails.rb +186 -0
  24. data/lib/pineapples/actions/remove_file.rb +28 -0
  25. data/lib/pineapples/actions/ruby.rb +49 -0
  26. data/lib/pineapples/actions/shell.rb +40 -0
  27. data/lib/pineapples/actions/template.rb +35 -0
  28. data/lib/pineapples/actions.rb +124 -39
  29. data/lib/pineapples/app_builder.rb +70 -0
  30. data/lib/pineapples/app_generator.rb +187 -0
  31. data/lib/pineapples/build_tasks/root_files.rb +23 -0
  32. data/lib/pineapples/error.rb +7 -0
  33. data/lib/pineapples/helpers.rb +34 -0
  34. data/lib/pineapples/parser.rb +37 -0
  35. data/lib/pineapples/setting.rb +155 -0
  36. data/lib/pineapples/settings.rb +31 -0
  37. data/lib/pineapples/templates/.buildpacks +2 -0
  38. data/lib/pineapples/templates/.editor-config +11 -0
  39. data/lib/pineapples/templates/.example.env.tt +11 -0
  40. data/lib/pineapples/templates/.example.rspec +3 -0
  41. data/lib/pineapples/templates/.gitignore +23 -0
  42. data/lib/pineapples/templates/Aptfile +0 -0
  43. data/lib/pineapples/templates/Gemfile.tt +89 -0
  44. data/lib/pineapples/templates/Guardfile +27 -0
  45. data/lib/pineapples/templates/Procfile +1 -0
  46. data/lib/pineapples/templates/README.md.tt +32 -0
  47. data/lib/pineapples/templates/Rakefile +6 -0
  48. data/lib/pineapples/templates/app/assets/javascripts/application.js +1 -0
  49. data/lib/pineapples/templates/app/assets/javascripts/libs.js +2 -0
  50. data/lib/pineapples/templates/app/assets/stylesheets/application.scss +1 -0
  51. data/lib/pineapples/templates/app/controllers/application_controller.rb.tt +48 -0
  52. data/lib/pineapples/templates/app/controllers/auth/confirmations_controller.rb +2 -0
  53. data/lib/pineapples/templates/app/controllers/pages_controller.rb +6 -0
  54. data/lib/pineapples/templates/app/helpers/application_helper.rb +59 -0
  55. data/lib/pineapples/templates/app/helpers/title_helper.rb +77 -0
  56. data/lib/pineapples/templates/app/models/user!=needs_user_model!.rb.tt +28 -0
  57. data/lib/pineapples/templates/app/views/common/_flashes.html.erb +16 -0
  58. data/lib/pineapples/templates/app/views/common/_footer.html.erb +3 -0
  59. data/lib/pineapples/templates/app/views/common/_header.html.erb +5 -0
  60. data/lib/pineapples/templates/app/views/layouts/application.html.erb.tt +33 -0
  61. data/lib/pineapples/templates/app/views/pages/home.html.erb +4 -0
  62. data/lib/pineapples/templates/bin/bundle +3 -0
  63. data/lib/pineapples/templates/bin/rails +8 -0
  64. data/lib/pineapples/templates/bin/rake +8 -0
  65. data/lib/pineapples/templates/bin/setup +33 -0
  66. data/lib/pineapples/templates/bin/spring +15 -0
  67. data/lib/pineapples/templates/browserlist +4 -0
  68. data/lib/pineapples/templates/config/application.rb.tt +43 -0
  69. data/lib/pineapples/templates/config/boot.rb +5 -0
  70. data/lib/pineapples/templates/config/database.yml.tt +20 -0
  71. data/lib/pineapples/templates/config/environment.rb +5 -0
  72. data/lib/pineapples/templates/config/environments/development.rb +64 -0
  73. data/lib/pineapples/templates/config/environments/production.rb +77 -0
  74. data/lib/pineapples/templates/config/environments/test.rb +34 -0
  75. data/lib/pineapples/templates/config/i18n-tasks.yml +13 -0
  76. data/lib/pineapples/templates/config/initializers/assets.rb +11 -0
  77. data/lib/pineapples/templates/config/initializers/backtrace_silencers.rb +7 -0
  78. data/lib/pineapples/templates/config/initializers/carrierwave.rb +22 -0
  79. data/lib/pineapples/templates/config/initializers/cookies_serializer.rb +3 -0
  80. data/lib/pineapples/templates/config/initializers/filter_parameters_logging.rb +4 -0
  81. data/lib/pineapples/templates/config/initializers/inflections.rb +16 -0
  82. data/lib/pineapples/templates/config/initializers/mime_types.rb +4 -0
  83. data/lib/pineapples/templates/config/initializers/pry.rb +10 -0
  84. data/lib/pineapples/templates/config/initializers/redis.rb +3 -0
  85. data/lib/pineapples/templates/config/initializers/session_store.rb.tt +3 -0
  86. data/lib/pineapples/templates/config/initializers/wrap_parameters.rb +14 -0
  87. data/lib/pineapples/templates/config/locales/en.yml +19 -0
  88. data/lib/pineapples/templates/config/puma.rb +21 -0
  89. data/lib/pineapples/templates/config/routes.rb.tt +10 -0
  90. data/lib/pineapples/templates/config/secrets.yml +11 -0
  91. data/lib/pineapples/templates/config/smtp.rb +11 -0
  92. data/lib/pineapples/templates/config.ru.tt +7 -0
  93. data/lib/pineapples/templates/db/migrate/01_enable_postgres_extensions.rb +15 -0
  94. data/lib/pineapples/templates/db/migrate/02_create_data_migrations.rb +14 -0
  95. data/lib/pineapples/templates/db/migrate/03_devise_create_users.rb +41 -0
  96. data/lib/pineapples/templates/db/migrate/04_add_role_field_to_users.rb +7 -0
  97. data/lib/pineapples/templates/lib/devise!=devise!/ajax_failure.rb +11 -0
  98. data/lib/pineapples/templates/lib/extensions/form_builder.rb +24 -0
  99. data/lib/pineapples/templates/lib/extensions/http_errors.rb +34 -0
  100. data/lib/pineapples/templates/lib/extensions/to_boolean.rb +45 -0
  101. data/lib/pineapples/templates/lib/logging/custom_rack_logger.rb +11 -0
  102. data/lib/pineapples/templates/lib/logging/custom_request_logger.rb +65 -0
  103. data/lib/pineapples/templates/lib/simple_form/components/append.rb +15 -0
  104. data/lib/pineapples/templates/lib/simple_form/components/prepend.rb +15 -0
  105. data/lib/pineapples/templates/lib/tasks/admin!=user_role_field!.rake +52 -0
  106. data/lib/pineapples/templates/lib/tasks/auto_annotate_models.rake +37 -0
  107. data/lib/pineapples/templates/lib/templates/erb/scaffold/_form.html.erb +14 -0
  108. data/lib/pineapples/templates/lib/virtus/virtus.rb +23 -0
  109. data/lib/pineapples/templates/public/404.html +67 -0
  110. data/lib/pineapples/templates/public/422.html +67 -0
  111. data/lib/pineapples/templates/public/500.html +66 -0
  112. data/lib/pineapples/templates/public/favicon.ico +0 -0
  113. data/lib/pineapples/templates/public/robots.txt +5 -0
  114. data/lib/pineapples/version.rb +1 -1
  115. data/lib/pineapples.rb +17 -2
  116. data/pineapples.gemspec +16 -15
  117. metadata +208 -2
data/pineapples.gemspec CHANGED
@@ -1,16 +1,17 @@
1
1
  # encoding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
4
5
  require 'pineapples/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.required_ruby_version = ">= #{Pineapples::RUBY_VERSION}"
8
+ spec.required_ruby_version = ">= #{Pineapples::RUBY_VERSION}"
9
+ spec.required_rubygems_version = '>= 2.1'
8
10
 
9
11
  spec.name = 'pineapples'
10
12
  spec.version = Pineapples::VERSION
11
13
  spec.authors = ['Alexey Glukhov']
12
14
  spec.email = ['gluhov985@gmail.com']
13
-
14
15
  spec.summary = 'Generate a Rails app loaded with must-have gems and best practices'
15
16
  spec.description = <<-HERE
16
17
  Rails app generator based on Suspenders by Thoughtbot and Raygun by Carbon Five modified to fit my own personal needs
@@ -18,26 +19,26 @@ Rails app generator based on Suspenders by Thoughtbot and Raygun by Carbon Five
18
19
  spec.homepage = 'http://github.com/pineapplethief/pineapples'
19
20
  spec.license = 'MIT'
20
21
 
22
+ spec.executables = ['pineapples']
23
+ spec.require_paths = ['lib']
24
+
21
25
  spec.extra_rdoc_files = %w[README.md LICENSE]
22
26
  spec.rdoc_options = ['--charset=UTF-8']
23
27
 
24
- # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
25
- # delete this section to allow pushing this gem to any host.
26
- # if spec.respond_to?(:metadata)
27
- # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
28
- # else
29
- # raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
30
- # end
31
-
32
28
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
33
- # spec.bindir = 'bin'
34
- spec.executables = ['pineapples']
35
- spec.require_paths = ['lib']
29
+ spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
30
+
36
31
 
37
- spec.required_rubygems_version = '>= 2.1'
38
32
 
39
33
  spec.add_dependency 'rails', Pineapples::RAILS_VERSION
40
34
  spec.add_dependency 'bundler', '~> 1.10'
41
-
35
+ spec.add_dependency 'colorize', '~> 0'
36
+ spec.add_dependency 'inquirer', '~> 0.2'
37
+ spec.add_dependency 'highline', '~> 1.7'
38
+ spec.add_dependency 'html2haml', '~> 2.0'
39
+ spec.add_dependency 'haml2slim', '~> 0.2'
40
+
41
+ spec.add_development_dependency 'fuubar', '~> 2.0'
42
+ spec.add_development_dependency 'pry', '~> 0.10'
42
43
  spec.add_development_dependency 'rspec', '~> 3.2'
43
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pineapples
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.34
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-09-22 00:00:00.000000000 Z
11
+ date: 2015-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -38,6 +38,104 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.10'
41
+ - !ruby/object:Gem::Dependency
42
+ name: colorize
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: inquirer
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: highline
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.7'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: html2haml
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: haml2slim
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.2'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.2'
111
+ - !ruby/object:Gem::Dependency
112
+ name: fuubar
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.10'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.10'
41
139
  - !ruby/object:Gem::Dependency
42
140
  name: rspec
43
141
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +163,7 @@ extra_rdoc_files:
65
163
  files:
66
164
  - ".gitignore"
67
165
  - ".rspec"
166
+ - ".ruby-gemset"
68
167
  - ".ruby-version"
69
168
  - ".travis.yml"
70
169
  - Gemfile
@@ -77,6 +176,113 @@ files:
77
176
  - bin/setup
78
177
  - lib/pineapples.rb
79
178
  - lib/pineapples/actions.rb
179
+ - lib/pineapples/actions/apply.rb
180
+ - lib/pineapples/actions/base/action.rb
181
+ - lib/pineapples/actions/base/target.rb
182
+ - lib/pineapples/actions/chmod.rb
183
+ - lib/pineapples/actions/copy_file.rb
184
+ - lib/pineapples/actions/create_file.rb
185
+ - lib/pineapples/actions/directory.rb
186
+ - lib/pineapples/actions/empty_directory.rb
187
+ - lib/pineapples/actions/get.rb
188
+ - lib/pineapples/actions/git.rb
189
+ - lib/pineapples/actions/gsub_file.rb
190
+ - lib/pineapples/actions/insert_into_file.rb
191
+ - lib/pineapples/actions/inside.rb
192
+ - lib/pineapples/actions/keep_file.rb
193
+ - lib/pineapples/actions/prepend_to_class.rb
194
+ - lib/pineapples/actions/rails/copy_migration.rb
195
+ - lib/pineapples/actions/rails/erb_converters.rb
196
+ - lib/pineapples/actions/rails/rails.rb
197
+ - lib/pineapples/actions/remove_file.rb
198
+ - lib/pineapples/actions/ruby.rb
199
+ - lib/pineapples/actions/shell.rb
200
+ - lib/pineapples/actions/template.rb
201
+ - lib/pineapples/app_builder.rb
202
+ - lib/pineapples/app_generator.rb
203
+ - lib/pineapples/build_tasks/root_files.rb
204
+ - lib/pineapples/error.rb
205
+ - lib/pineapples/helpers.rb
206
+ - lib/pineapples/parser.rb
207
+ - lib/pineapples/setting.rb
208
+ - lib/pineapples/settings.rb
209
+ - lib/pineapples/templates/.buildpacks
210
+ - lib/pineapples/templates/.editor-config
211
+ - lib/pineapples/templates/.example.env.tt
212
+ - lib/pineapples/templates/.example.rspec
213
+ - lib/pineapples/templates/.gitignore
214
+ - lib/pineapples/templates/Aptfile
215
+ - lib/pineapples/templates/Gemfile.tt
216
+ - lib/pineapples/templates/Guardfile
217
+ - lib/pineapples/templates/Procfile
218
+ - lib/pineapples/templates/README.md.tt
219
+ - lib/pineapples/templates/Rakefile
220
+ - lib/pineapples/templates/app/assets/javascripts/application.js
221
+ - lib/pineapples/templates/app/assets/javascripts/libs.js
222
+ - lib/pineapples/templates/app/assets/stylesheets/application.scss
223
+ - lib/pineapples/templates/app/controllers/application_controller.rb.tt
224
+ - lib/pineapples/templates/app/controllers/auth/confirmations_controller.rb
225
+ - lib/pineapples/templates/app/controllers/pages_controller.rb
226
+ - lib/pineapples/templates/app/helpers/application_helper.rb
227
+ - lib/pineapples/templates/app/helpers/title_helper.rb
228
+ - lib/pineapples/templates/app/models/user!=needs_user_model!.rb.tt
229
+ - lib/pineapples/templates/app/views/common/_flashes.html.erb
230
+ - lib/pineapples/templates/app/views/common/_footer.html.erb
231
+ - lib/pineapples/templates/app/views/common/_header.html.erb
232
+ - lib/pineapples/templates/app/views/layouts/application.html.erb.tt
233
+ - lib/pineapples/templates/app/views/pages/home.html.erb
234
+ - lib/pineapples/templates/bin/bundle
235
+ - lib/pineapples/templates/bin/rails
236
+ - lib/pineapples/templates/bin/rake
237
+ - lib/pineapples/templates/bin/setup
238
+ - lib/pineapples/templates/bin/spring
239
+ - lib/pineapples/templates/browserlist
240
+ - lib/pineapples/templates/config.ru.tt
241
+ - lib/pineapples/templates/config/application.rb.tt
242
+ - lib/pineapples/templates/config/boot.rb
243
+ - lib/pineapples/templates/config/database.yml.tt
244
+ - lib/pineapples/templates/config/environment.rb
245
+ - lib/pineapples/templates/config/environments/development.rb
246
+ - lib/pineapples/templates/config/environments/production.rb
247
+ - lib/pineapples/templates/config/environments/test.rb
248
+ - lib/pineapples/templates/config/i18n-tasks.yml
249
+ - lib/pineapples/templates/config/initializers/assets.rb
250
+ - lib/pineapples/templates/config/initializers/backtrace_silencers.rb
251
+ - lib/pineapples/templates/config/initializers/carrierwave.rb
252
+ - lib/pineapples/templates/config/initializers/cookies_serializer.rb
253
+ - lib/pineapples/templates/config/initializers/filter_parameters_logging.rb
254
+ - lib/pineapples/templates/config/initializers/inflections.rb
255
+ - lib/pineapples/templates/config/initializers/mime_types.rb
256
+ - lib/pineapples/templates/config/initializers/pry.rb
257
+ - lib/pineapples/templates/config/initializers/redis.rb
258
+ - lib/pineapples/templates/config/initializers/session_store.rb.tt
259
+ - lib/pineapples/templates/config/initializers/wrap_parameters.rb
260
+ - lib/pineapples/templates/config/locales/en.yml
261
+ - lib/pineapples/templates/config/puma.rb
262
+ - lib/pineapples/templates/config/routes.rb.tt
263
+ - lib/pineapples/templates/config/secrets.yml
264
+ - lib/pineapples/templates/config/smtp.rb
265
+ - lib/pineapples/templates/db/migrate/01_enable_postgres_extensions.rb
266
+ - lib/pineapples/templates/db/migrate/02_create_data_migrations.rb
267
+ - lib/pineapples/templates/db/migrate/03_devise_create_users.rb
268
+ - lib/pineapples/templates/db/migrate/04_add_role_field_to_users.rb
269
+ - lib/pineapples/templates/lib/devise!=devise!/ajax_failure.rb
270
+ - lib/pineapples/templates/lib/extensions/form_builder.rb
271
+ - lib/pineapples/templates/lib/extensions/http_errors.rb
272
+ - lib/pineapples/templates/lib/extensions/to_boolean.rb
273
+ - lib/pineapples/templates/lib/logging/custom_rack_logger.rb
274
+ - lib/pineapples/templates/lib/logging/custom_request_logger.rb
275
+ - lib/pineapples/templates/lib/simple_form/components/append.rb
276
+ - lib/pineapples/templates/lib/simple_form/components/prepend.rb
277
+ - lib/pineapples/templates/lib/tasks/admin!=user_role_field!.rake
278
+ - lib/pineapples/templates/lib/tasks/auto_annotate_models.rake
279
+ - lib/pineapples/templates/lib/templates/erb/scaffold/_form.html.erb
280
+ - lib/pineapples/templates/lib/virtus/virtus.rb
281
+ - lib/pineapples/templates/public/404.html
282
+ - lib/pineapples/templates/public/422.html
283
+ - lib/pineapples/templates/public/500.html
284
+ - lib/pineapples/templates/public/favicon.ico
285
+ - lib/pineapples/templates/public/robots.txt
80
286
  - lib/pineapples/version.rb
81
287
  - pineapples.gemspec
82
288
  homepage: http://github.com/pineapplethief/pineapples