panacea-rails 0.1.5 → 0.2.0
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +18 -23
- data/config/questions.yml +0 -48
- data/lib/panacea/rails/customizer.rb +0 -1
- data/lib/panacea/rails/generator.rb +2 -30
- data/lib/panacea/rails/template.rb +18 -23
- data/lib/panacea/rails/version.rb +1 -1
- data/templates/Gemfile.tt +12 -11
- data/templates/Procfile.tt +0 -2
- data/templates/application_system_test.tt +12 -10
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f1c98324363e231d323175486b556d638c8c70eae7c4159f03e1e694807c4126
|
|
4
|
+
data.tar.gz: f5d36b1f46a0929c88d6c89a205bbfb39f8ab91d7fa62c0308968cfae8d8431a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e45645bd5145382d8814e2541b89ca976044a3abd101078fdaba7c68a6614f92cd7bf69917900abb6c37e40ed2bdaf660a422fa62ae432ae9c5d40725b05f7ac
|
|
7
|
+
data.tar.gz: 87c93c6b3aa129e6c85b320e65fba207ba22757394856df8957cd70f021a29a53842b2a39af2f7ee503c4dbf927c5aba3f9004b478318e3a987babe3f76b907f
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
panacea-rails (0.
|
|
4
|
+
panacea-rails (0.2.0)
|
|
5
5
|
bundler (~> 1)
|
|
6
6
|
slop (~> 4.6)
|
|
7
7
|
tty-prompt (~> 0.17)
|
|
@@ -10,17 +10,16 @@ GEM
|
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
12
|
ast (2.4.0)
|
|
13
|
-
equatable (0.
|
|
14
|
-
hitimes (1.2.6)
|
|
13
|
+
equatable (0.6.1)
|
|
15
14
|
jaro_winkler (1.5.1)
|
|
16
15
|
minitest (5.11.3)
|
|
17
|
-
necromancer (0.
|
|
16
|
+
necromancer (0.5.0)
|
|
18
17
|
parallel (1.12.1)
|
|
19
18
|
parser (2.5.1.2)
|
|
20
19
|
ast (~> 2.4.0)
|
|
21
|
-
pastel (0.7.
|
|
22
|
-
equatable (~> 0.
|
|
23
|
-
tty-color (~> 0.
|
|
20
|
+
pastel (0.7.3)
|
|
21
|
+
equatable (~> 0.6)
|
|
22
|
+
tty-color (~> 0.5)
|
|
24
23
|
powerpack (0.1.2)
|
|
25
24
|
rainbow (3.0.0)
|
|
26
25
|
rake (10.5.0)
|
|
@@ -36,24 +35,20 @@ GEM
|
|
|
36
35
|
ruby-progressbar (1.9.0)
|
|
37
36
|
sdoc (1.0.0)
|
|
38
37
|
rdoc (>= 5.0)
|
|
39
|
-
slop (4.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
tty-
|
|
43
|
-
|
|
44
|
-
tty-prompt (0.17.1)
|
|
45
|
-
necromancer (~> 0.4.0)
|
|
38
|
+
slop (4.7.0)
|
|
39
|
+
tty-color (0.5.0)
|
|
40
|
+
tty-cursor (0.7.0)
|
|
41
|
+
tty-prompt (0.19.0)
|
|
42
|
+
necromancer (~> 0.5.0)
|
|
46
43
|
pastel (~> 0.7.0)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
tty-
|
|
50
|
-
|
|
51
|
-
tty-cursor (~> 0.6.0)
|
|
52
|
-
tty-screen (~> 0.6.4)
|
|
44
|
+
tty-reader (~> 0.6.0)
|
|
45
|
+
tty-reader (0.6.0)
|
|
46
|
+
tty-cursor (~> 0.7)
|
|
47
|
+
tty-screen (~> 0.7)
|
|
53
48
|
wisper (~> 2.0.0)
|
|
54
|
-
tty-screen (0.
|
|
49
|
+
tty-screen (0.7.0)
|
|
55
50
|
unicode-display_width (1.4.0)
|
|
56
|
-
wisper (2.0.
|
|
51
|
+
wisper (2.0.1)
|
|
57
52
|
|
|
58
53
|
PLATFORMS
|
|
59
54
|
ruby
|
|
@@ -66,4 +61,4 @@ DEPENDENCIES
|
|
|
66
61
|
sdoc (~> 1.0)
|
|
67
62
|
|
|
68
63
|
BUNDLED WITH
|
|
69
|
-
1.
|
|
64
|
+
1.17.2
|
data/config/questions.yml
CHANGED
|
@@ -219,49 +219,6 @@ dotenv:
|
|
|
219
219
|
default: false
|
|
220
220
|
type: boolean
|
|
221
221
|
|
|
222
|
-
webpack:
|
|
223
|
-
title: Do you want to use Webpacker to manage your app's frontend?
|
|
224
|
-
default: false
|
|
225
|
-
type: boolean
|
|
226
|
-
subquestions:
|
|
227
|
-
webpack_type:
|
|
228
|
-
title: What framework do you want to pre-configure Webpack with?
|
|
229
|
-
type: select
|
|
230
|
-
options:
|
|
231
|
-
- none
|
|
232
|
-
- react
|
|
233
|
-
- vue
|
|
234
|
-
- angular
|
|
235
|
-
- elm
|
|
236
|
-
- stimulus
|
|
237
|
-
|
|
238
|
-
bootswatch:
|
|
239
|
-
title: Do you want to use a Bootswatch 3 template?
|
|
240
|
-
default: false
|
|
241
|
-
type: boolean
|
|
242
|
-
disable_with: webpack
|
|
243
|
-
subquestions:
|
|
244
|
-
bootswatch_template_name:
|
|
245
|
-
title: Which template do you want to setup?
|
|
246
|
-
type: select
|
|
247
|
-
options:
|
|
248
|
-
- cerulean
|
|
249
|
-
- cosmo
|
|
250
|
-
- cyborg
|
|
251
|
-
- darkly
|
|
252
|
-
- flatly
|
|
253
|
-
- journal
|
|
254
|
-
- lumen
|
|
255
|
-
- paper
|
|
256
|
-
- readable
|
|
257
|
-
- sandstone
|
|
258
|
-
- simplex
|
|
259
|
-
- slate
|
|
260
|
-
- spacelab
|
|
261
|
-
- superhero
|
|
262
|
-
- united
|
|
263
|
-
- yeti
|
|
264
|
-
|
|
265
222
|
pg_search:
|
|
266
223
|
title: Do you want to use pg_search gem to enable PostgreSQL's full text search?
|
|
267
224
|
default: false
|
|
@@ -338,8 +295,3 @@ autocommit:
|
|
|
338
295
|
title: What should be the commit's message?
|
|
339
296
|
default: Initialize Rails App powered with Panacea
|
|
340
297
|
type: text
|
|
341
|
-
|
|
342
|
-
share_usage_info:
|
|
343
|
-
title: Do you want to help us improve Panacea by sharing with us your answers? [100% anonymous]
|
|
344
|
-
default: true
|
|
345
|
-
type: boolean
|
|
@@ -48,7 +48,7 @@ module Panacea # :nodoc:
|
|
|
48
48
|
# Add here any new method to be used from Thor / Rails Generator
|
|
49
49
|
def respond_to_missing?(method_name, include_private = false)
|
|
50
50
|
%i[
|
|
51
|
-
|
|
51
|
+
generate rails_command template
|
|
52
52
|
run git source_paths empty_directory append_to_file
|
|
53
53
|
environment application say inject_into_class
|
|
54
54
|
inject_into_file directory
|
|
@@ -250,39 +250,11 @@ module Panacea # :nodoc:
|
|
|
250
250
|
|
|
251
251
|
generate "devise:install"
|
|
252
252
|
generate "devise", model_name
|
|
253
|
-
generate "devise:
|
|
254
|
-
generate "devise:i18n:locale", locale
|
|
253
|
+
generate "devise:views" if config.dig("devise_override_views")
|
|
255
254
|
|
|
256
255
|
rails_command "db:migrate"
|
|
257
256
|
end
|
|
258
257
|
|
|
259
|
-
###
|
|
260
|
-
# Setup booswatch-rails gem.
|
|
261
|
-
def setup_bootswatch
|
|
262
|
-
run "rm app/assets/stylesheets/application.css"
|
|
263
|
-
template "templates/bootswatch/stylesheets/application.scss.tt", "app/assets/stylesheets/application.scss"
|
|
264
|
-
|
|
265
|
-
inject_into_file "app/assets/javascripts/application.js", after: "//= require turbolinks" do
|
|
266
|
-
<<~CONFS
|
|
267
|
-
|
|
268
|
-
// Requires for Bootswatch
|
|
269
|
-
//= require jquery
|
|
270
|
-
//= require bootstrap-sprockets
|
|
271
|
-
CONFS
|
|
272
|
-
end
|
|
273
|
-
|
|
274
|
-
run "rm app/views/layouts/application.html.erb"
|
|
275
|
-
|
|
276
|
-
template "templates/bootswatch/views/shared/_navbar.html.haml", "app/views/shared/_navbar.html.haml"
|
|
277
|
-
template "templates/bootswatch/views/shared/_flash_messages.html.haml", "app/views/shared/_flash_messages.html.haml"
|
|
278
|
-
template "templates/bootswatch/views/layouts/application.html.haml", "app/views/layouts/application.html.haml", force: true
|
|
279
|
-
|
|
280
|
-
generate "controller home index"
|
|
281
|
-
inject_into_file "config/routes.rb", "\nroot to: 'home#index'", after: "Rails.application.routes.draw do"
|
|
282
|
-
|
|
283
|
-
directory "templates/devise/views/", "app/views/devise/", force: true if config.dig("devise_override_views")
|
|
284
|
-
end
|
|
285
|
-
|
|
286
258
|
###
|
|
287
259
|
# Setup money_rails gem.
|
|
288
260
|
def setup_money_rails
|
|
@@ -26,6 +26,8 @@ panacea_generator.update_source_paths
|
|
|
26
26
|
panacea_generator.copy_gemfile
|
|
27
27
|
panacea_generator.copy_readme
|
|
28
28
|
panacea_generator.generate_panacea_document
|
|
29
|
+
panacea_generator.run_bundle
|
|
30
|
+
|
|
29
31
|
panacea_generator.setup_rubocop
|
|
30
32
|
panacea_generator.setup_letter_opener
|
|
31
33
|
panacea_generator.setup_timezone
|
|
@@ -33,26 +35,19 @@ panacea_generator.setup_default_locale
|
|
|
33
35
|
panacea_generator.create_database
|
|
34
36
|
panacea_generator.setup_oj if panacea_config.dig("oj")
|
|
35
37
|
panacea_generator.setup_dotenv if panacea_config.dig("dotenv")
|
|
36
|
-
|
|
37
|
-
panacea_generator.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
# This should be always at the end
|
|
53
|
-
generator.fix_offenses!
|
|
54
|
-
generator.commit! if panacea_config.dig("autocommit")
|
|
55
|
-
generator.setup_githook if panacea_config.dig("githook") && !options[:skip_git]
|
|
56
|
-
|
|
57
|
-
generator.bye_message
|
|
58
|
-
end
|
|
38
|
+
panacea_generator.setup_bullet
|
|
39
|
+
panacea_generator.setup_test_suite
|
|
40
|
+
panacea_generator.override_test_helper
|
|
41
|
+
panacea_generator.setup_simplecov
|
|
42
|
+
panacea_generator.setup_background_job if panacea_config.dig("background_job") != "none"
|
|
43
|
+
panacea_generator.override_application_system_test if panacea_config.dig("headless_chrome")
|
|
44
|
+
panacea_generator.setup_devise if panacea_config.dig("devise")
|
|
45
|
+
panacea_generator.setup_money_rails if panacea_config.dig("money_rails")
|
|
46
|
+
panacea_generator.setup_kaminari if panacea_config.dig("kaminari")
|
|
47
|
+
panacea_generator.setup_foreman if panacea_config.dig("foreman")
|
|
48
|
+
panacea_generator.setup_pundit if panacea_config.dig("pundit")
|
|
49
|
+
|
|
50
|
+
panacea_generator.fix_offenses!
|
|
51
|
+
panacea_generator.commit! if panacea_config.dig("autocommit")
|
|
52
|
+
panacea_generator.setup_githook if panacea_config.dig("githook") && !options[:skip_git]
|
|
53
|
+
panacea_generator.bye_message
|
data/templates/Gemfile.tt
CHANGED
|
@@ -5,15 +5,16 @@ source "https://rubygems.org"
|
|
|
5
5
|
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
6
6
|
|
|
7
7
|
ruby "<%= @panacea.dig("ruby_version") %>"
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
gem "rails", "~> 6.0.0"
|
|
9
10
|
gem "<%= db_gem.name %>"<%= %(, '#{db_gem.version}') if db_gem.version %>
|
|
10
11
|
|
|
11
|
-
gem "bootsnap", ">= 1.
|
|
12
|
+
gem "bootsnap", ">= 1.4.4", require: false
|
|
12
13
|
<% if @panacea.dig("devise") -%>
|
|
13
14
|
gem "devise"
|
|
14
|
-
gem "devise-i18n"
|
|
15
15
|
<% end -%>
|
|
16
16
|
gem "haml-rails"
|
|
17
|
+
gem "image_processing", "~> 1.2"
|
|
17
18
|
gem "interactor-rails"
|
|
18
19
|
<% if @panacea.dig("kaminari") -%>
|
|
19
20
|
gem "kaminari"
|
|
@@ -27,7 +28,7 @@ gem "money-rails", "~> 1"
|
|
|
27
28
|
<% if @panacea.dig("pg_search") -%>
|
|
28
29
|
gem "pg_search"
|
|
29
30
|
<% end -%>
|
|
30
|
-
gem "puma", "~>
|
|
31
|
+
gem "puma", "~> 4.1"
|
|
31
32
|
<% if @panacea.dig("pundit") -%>
|
|
32
33
|
gem "pundit"
|
|
33
34
|
<% end -%>
|
|
@@ -37,15 +38,16 @@ gem "redcarpet"
|
|
|
37
38
|
gem "sass-rails", "~> 5.0"
|
|
38
39
|
gem "turbolinks", "~> 5"
|
|
39
40
|
gem "uglifier", ">= 1.3.0"
|
|
40
|
-
|
|
41
|
-
gem "webpacker"
|
|
42
|
-
<% end -%>
|
|
41
|
+
gem "webpacker", "~> 4.0"
|
|
43
42
|
|
|
44
43
|
<% if @panacea.dig("background_job") != "none" -%>
|
|
45
44
|
# Background Jobs Adapter
|
|
46
45
|
gem "<%= @panacea.dig("background_job") %>"
|
|
47
46
|
<% end -%>
|
|
48
47
|
|
|
48
|
+
# Use Redis adapter to run Action Cable in production
|
|
49
|
+
# gem 'redis', '~> 4.0'
|
|
50
|
+
|
|
49
51
|
<% if @panacea.dig("bootswatch") %>
|
|
50
52
|
# Bootswatch Dependencies
|
|
51
53
|
gem "bootstrap-sass", "~> 3.3.7"
|
|
@@ -65,7 +67,7 @@ group :development, :test do
|
|
|
65
67
|
gem "dotenv-rails"
|
|
66
68
|
<% end -%>
|
|
67
69
|
<% if @panacea.dig("factory_bot") -%>
|
|
68
|
-
gem "factory_bot_rails", "~>
|
|
70
|
+
gem "factory_bot_rails", "~> 5.0"
|
|
69
71
|
<% end -%>
|
|
70
72
|
gem "pry"
|
|
71
73
|
gem "rubocop-rails_config"
|
|
@@ -82,13 +84,12 @@ group :development do
|
|
|
82
84
|
end
|
|
83
85
|
|
|
84
86
|
group :test do
|
|
85
|
-
gem "capybara", ">= 2.15"
|
|
86
|
-
gem "capybara-selenium"
|
|
87
|
-
gem "chromedriver-helper"
|
|
87
|
+
gem "capybara", ">= 2.15"
|
|
88
88
|
<% if @panacea.dig("faker") -%>
|
|
89
89
|
gem "faker"
|
|
90
90
|
<% end -%>
|
|
91
91
|
gem "selenium-webdriver"
|
|
92
|
+
gem "webdrivers"
|
|
92
93
|
gem "simplecov", require: false
|
|
93
94
|
<% if @panacea.dig("http_stubs") != "none" -%>
|
|
94
95
|
gem "<%= @panacea.dig("http_stubs") %>"
|
data/templates/Procfile.tt
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "test_helper"
|
|
4
|
-
require "
|
|
4
|
+
require "webdrivers"
|
|
5
|
+
require "webdrivers/chromedriver"
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
end
|
|
7
|
+
Webdrivers.cache_time = 86_400
|
|
8
|
+
Webdrivers::Chromedriver.update
|
|
9
9
|
|
|
10
10
|
Capybara.register_driver :headless_chrome do |app|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
)
|
|
11
|
+
options = ::Selenium::WebDriver::Chrome::Options.new
|
|
12
|
+
|
|
13
|
+
options.add_argument("--headless")
|
|
14
|
+
options.add_argument("--no-sandbox")
|
|
15
|
+
options.add_argument("--disable-gpu")
|
|
16
|
+
options.add_argument("--window-size=1920,1080")
|
|
14
17
|
|
|
15
|
-
Capybara::Selenium::Driver.new
|
|
16
|
-
browser: :chrome,
|
|
17
|
-
desired_capabilities: capabilities
|
|
18
|
+
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
|
|
18
19
|
end
|
|
19
20
|
|
|
20
21
|
Capybara.javascript_driver = :headless_chrome
|
|
@@ -24,5 +25,6 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
|
|
|
24
25
|
include Warden::Test::Helpers
|
|
25
26
|
|
|
26
27
|
<% end -%>
|
|
28
|
+
|
|
27
29
|
driven_by :headless_chrome
|
|
28
30
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: panacea-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Guillermo Moreno
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: exe
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2019-
|
|
13
|
+
date: 2019-10-24 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: bundler
|