potassium 5.2.1 → 6.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +84 -0
  3. data/.gitignore +2 -1
  4. data/.node-version +1 -0
  5. data/.rubocop.yml +530 -0
  6. data/.ruby-version +1 -1
  7. data/CHANGELOG.md +91 -0
  8. data/README.md +41 -47
  9. data/docs/DSL.md +5 -5
  10. data/lib/potassium/assets/.buildpacks +0 -1
  11. data/lib/potassium/assets/.circleci/config.yml.erb +102 -0
  12. data/lib/potassium/assets/.eslintrc.json +352 -0
  13. data/lib/potassium/assets/.github/pull_request_template.md +9 -0
  14. data/lib/potassium/assets/.pryrc +1 -1
  15. data/lib/potassium/assets/.rubocop.yml +528 -0
  16. data/lib/potassium/assets/.stylelintrc.json +46 -0
  17. data/lib/potassium/assets/Dockerfile.ci +1 -1
  18. data/lib/potassium/assets/Makefile.erb +21 -32
  19. data/lib/potassium/assets/Procfile +1 -0
  20. data/lib/potassium/assets/README.yml +58 -11
  21. data/lib/potassium/assets/active_admin/admin-component.vue +35 -0
  22. data/lib/potassium/assets/active_admin/admin_application.js +14 -0
  23. data/lib/potassium/assets/active_admin/init_activeadmin_vue.rb +10 -0
  24. data/lib/potassium/assets/app/graphql/graphql_controller.rb +55 -0
  25. data/lib/potassium/assets/app/graphql/mutations/login_mutation.rb +23 -0
  26. data/lib/potassium/assets/app/graphql/queries/base_query.rb +4 -0
  27. data/lib/potassium/assets/app/graphql/types/base/base_argument.rb +4 -0
  28. data/lib/potassium/assets/app/graphql/types/base/base_enum.rb +4 -0
  29. data/lib/potassium/assets/app/graphql/types/base/base_field.rb +5 -0
  30. data/lib/potassium/assets/app/graphql/types/base/base_input_object.rb +5 -0
  31. data/lib/potassium/assets/app/graphql/types/base/base_interface.rb +7 -0
  32. data/lib/potassium/assets/app/graphql/types/base/base_object.rb +5 -0
  33. data/lib/potassium/assets/app/graphql/types/base/base_scalar.rb +4 -0
  34. data/lib/potassium/assets/app/graphql/types/base/base_union.rb +4 -0
  35. data/lib/potassium/assets/app/graphql/types/mutation_type.rb +10 -0
  36. data/lib/potassium/assets/app/graphql/types/query_type.rb +13 -0
  37. data/lib/potassium/assets/app/javascript/app.spec.js +14 -0
  38. data/lib/potassium/assets/app/uploaders/base_uploader.rb +11 -0
  39. data/lib/potassium/assets/app/uploaders/image_uploader.rb +5 -0
  40. data/lib/potassium/assets/app/views/shared/_gtm_body.html.erb +4 -0
  41. data/lib/potassium/assets/app/views/shared/_gtm_head.html.erb +7 -0
  42. data/lib/potassium/assets/bin/cibuild.erb +24 -7
  43. data/lib/potassium/assets/bin/release +9 -0
  44. data/lib/potassium/assets/bin/setup.erb +1 -1
  45. data/lib/potassium/assets/config/database_mysql.yml.erb +2 -2
  46. data/lib/potassium/assets/config/database_postgresql.yml.erb +2 -2
  47. data/lib/potassium/assets/config/graphql_playground.rb +20 -0
  48. data/lib/potassium/assets/config/puma.rb +1 -1
  49. data/lib/potassium/assets/config/shrine.rb +36 -0
  50. data/lib/potassium/assets/docker-compose.ci.yml +2 -1
  51. data/lib/potassium/assets/lib/tasks/auto_annotate_models.rake +34 -33
  52. data/lib/potassium/assets/package.json +4 -1
  53. data/lib/potassium/assets/redis.yml +1 -2
  54. data/lib/potassium/assets/testing/rails_helper.rb +4 -2
  55. data/lib/potassium/cli/commands/create.rb +12 -19
  56. data/lib/potassium/cli_options.rb +77 -26
  57. data/lib/potassium/helpers/gem-helpers.rb +1 -1
  58. data/lib/potassium/helpers/template-helpers.rb +4 -0
  59. data/lib/potassium/newest_version_ensurer.rb +19 -36
  60. data/lib/potassium/node_version_ensurer.rb +30 -0
  61. data/lib/potassium/recipes/admin.rb +3 -3
  62. data/lib/potassium/recipes/annotate.rb +1 -1
  63. data/lib/potassium/recipes/api.rb +93 -21
  64. data/lib/potassium/recipes/background_processor.rb +66 -19
  65. data/lib/potassium/recipes/ci.rb +6 -4
  66. data/lib/potassium/recipes/data_migrate.rb +44 -0
  67. data/lib/potassium/recipes/database.rb +4 -0
  68. data/lib/potassium/recipes/database_container.rb +7 -5
  69. data/lib/potassium/recipes/draper.rb +1 -10
  70. data/lib/potassium/recipes/file_storage.rb +66 -0
  71. data/lib/potassium/recipes/front_end.rb +219 -9
  72. data/lib/potassium/recipes/github.rb +93 -15
  73. data/lib/potassium/recipes/google_tag_manager.rb +90 -0
  74. data/lib/potassium/recipes/heroku.rb +44 -30
  75. data/lib/potassium/recipes/mailer.rb +27 -4
  76. data/lib/potassium/recipes/node.rb +21 -0
  77. data/lib/potassium/recipes/rack_cors.rb +18 -15
  78. data/lib/potassium/recipes/schedule.rb +17 -2
  79. data/lib/potassium/recipes/style.rb +21 -3
  80. data/lib/potassium/recipes/vue_admin.rb +124 -0
  81. data/lib/potassium/templates/application.rb +9 -7
  82. data/lib/potassium/version.rb +6 -4
  83. data/potassium.gemspec +11 -6
  84. data/spec/features/api_spec.rb +25 -0
  85. data/spec/features/background_processor_spec.rb +19 -6
  86. data/spec/features/data_migrate_spec.rb +14 -0
  87. data/spec/features/database_container_spec.rb +2 -5
  88. data/spec/features/draper_spec.rb +1 -6
  89. data/spec/features/file_storage_spec.rb +75 -0
  90. data/spec/features/front_end_spec.rb +88 -0
  91. data/spec/features/github_spec.rb +53 -8
  92. data/spec/features/google_tag_manager_spec.rb +59 -0
  93. data/spec/features/graphql_spec.rb +71 -0
  94. data/spec/features/heroku_spec.rb +8 -5
  95. data/spec/features/mailer_spec.rb +58 -0
  96. data/spec/features/new_project_spec.rb +6 -14
  97. data/spec/features/node_spec.rb +28 -0
  98. data/spec/features/power_types_spec.rb +5 -16
  99. data/spec/features/schedule_spec.rb +11 -4
  100. data/spec/features/vue_admin_spec.rb +47 -0
  101. data/spec/spec_helper.rb +5 -0
  102. data/spec/support/fake_octokit.rb +31 -0
  103. data/spec/support/potassium_test_helpers.rb +26 -9
  104. data/tmp/.keep +0 -0
  105. metadata +157 -48
  106. data/circle.yml +0 -12
  107. data/lib/potassium/assets/.circleci/config.yml +0 -20
  108. data/lib/potassium/assets/active_admin/active_admin.js.coffee +0 -4
  109. data/lib/potassium/assets/active_admin/init_activeadmin_angular.rb +0 -8
  110. data/lib/potassium/assets/api/api_error_concern.rb +0 -32
  111. data/lib/potassium/assets/api/base_controller.rb +0 -9
  112. data/lib/potassium/assets/api/draper_responder.rb +0 -62
  113. data/lib/potassium/assets/api/responder.rb +0 -41
  114. data/lib/potassium/assets/aws.rb +0 -1
  115. data/lib/potassium/assets/sidekiq_scheduler.yml +0 -9
  116. data/lib/potassium/assets/testing/paperclip.rb +0 -59
  117. data/lib/potassium/recipes/active_storage.rb +0 -40
  118. data/lib/potassium/recipes/angular_admin.rb +0 -56
  119. data/lib/potassium/recipes/aws_sdk.rb +0 -7
  120. data/lib/potassium/recipes/paperclip.rb +0 -47
  121. data/spec/features/active_storage_spec.rb +0 -30
  122. data/spec/features/front_end.rb +0 -30
@@ -12,11 +12,11 @@ RSpec.describe "A new project" do
12
12
  expect { on_project { `bundle exec rails -v` } }.to_not output.to_stderr
13
13
  end
14
14
 
15
- it "is a valid rubocop project" do
16
- on_project do
17
- expect(run_rubocop).to eq(true)
18
- end
19
- end
15
+ # it "is a valid rubocop project" do
16
+ # on_project do
17
+ # expect(run_rubocop).to eq(true)
18
+ # end
19
+ # end
20
20
 
21
21
  it "configures postgresql" do
22
22
  database_config_file = IO.read("#{project_path}/config/database.yml")
@@ -26,18 +26,10 @@ RSpec.describe "A new project" do
26
26
  expect(gemfile).to include %{gem 'pg'}
27
27
  end
28
28
 
29
- it "configures aws" do
30
- gemfile_content = IO.read("#{project_path}/Gemfile")
31
- expect(gemfile_content).to include("'aws-sdk', '~> 3'")
32
-
33
- initializer = IO.read("#{project_path}/config/initializers/aws.rb")
34
- expect(initializer).to include("Aws::VERSION")
35
- end
36
-
37
29
  it "configures the correct ruby version" do
38
30
  ruby_version_file = IO.read("#{project_path}/.ruby-version")
39
31
 
40
- expect(ruby_version_file).to eq("2.5")
32
+ expect(ruby_version_file).to eq("2.7")
41
33
  end
42
34
 
43
35
  it "setup ssl" do
@@ -0,0 +1,28 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe "Node" do
4
+ let(:version) { "12" }
5
+
6
+ before(:all) do
7
+ drop_dummy_database
8
+ remove_project_directory
9
+ create_dummy_project
10
+ end
11
+
12
+ it "adds engine with node version to package.json" do
13
+ package_json_path = "#{project_path}/package.json"
14
+ expect(File).to be_file(package_json_path)
15
+ json_file = File.read(package_json_path)
16
+ js_package = JSON.parse(json_file)
17
+ expect(js_package).to have_key("engines")
18
+ expect(js_package["engines"]).to have_key("node")
19
+ expect(js_package["engines"]["node"]).to eq("#{version}.x")
20
+ end
21
+
22
+ it "adds .node-version with correct version" do
23
+ node_version_path = "#{project_path}/.node-version"
24
+ expect(File).to be_file(node_version_path)
25
+ node_version_file = File.read(node_version_path)
26
+ expect(node_version_file).to eq(version)
27
+ end
28
+ end
@@ -17,21 +17,10 @@ RSpec.describe "PowerTypes" do
17
17
  expect(readme).to include("Power-Types")
18
18
  end
19
19
 
20
- it "adds commands directory" do
21
- commands_directory = "#{project_path}/app/commands"
22
- expect(File.directory?(commands_directory)).to eq(true)
23
- end
24
-
25
- it "adds services directory" do
26
- services_directory = "#{project_path}/app/services"
27
- expect(File.directory?(services_directory)).to eq(true)
28
- end
29
- it "adds utils directory" do
30
- utils_directory = "#{project_path}/app/utils"
31
- expect(File.directory?(utils_directory)).to eq(true)
32
- end
33
- it "adds values directory" do
34
- values_directory = "#{project_path}/app/values"
35
- expect(File.directory?(values_directory)).to eq(true)
20
+ it "adds every power type directory" do
21
+ [:commands, :services, :observers, :utils, :values].each do |type|
22
+ commands_directory = "#{project_path}/app/#{type}"
23
+ expect(File.directory?(commands_directory)).to eq(true)
24
+ end
36
25
  end
37
26
  end
@@ -1,10 +1,14 @@
1
1
  require "spec_helper"
2
2
 
3
3
  RSpec.describe "schedule" do
4
+ let(:sidekiq_config) { IO.read("#{project_path}/config/sidekiq.yml") }
5
+
4
6
  before :all do
5
7
  drop_dummy_database
6
8
  remove_project_directory
7
- create_dummy_project("schedule" => true)
9
+ create_dummy_project(
10
+ "schedule" => true, "background_processor" => true, "email_service" => "sendgrid"
11
+ )
8
12
  end
9
13
 
10
14
  it "adds the sidekiq-scheduler gem to Gemfile" do
@@ -12,9 +16,12 @@ RSpec.describe "schedule" do
12
16
  expect(gemfile_content).to include("gem 'sidekiq-scheduler'")
13
17
  end
14
18
 
15
- it "creates the config with schedule" do
16
- initializer_content = IO.read("#{project_path}/config/sidekiq.yml")
17
- expect(initializer_content).to include(":schedule:")
19
+ it "adds schedule section to sidekiq config" do
20
+ expect(sidekiq_config).to include(":schedule:")
21
+ end
22
+
23
+ it "doesn't remove mailers queue" do
24
+ expect(sidekiq_config).to include("- mailers")
18
25
  end
19
26
 
20
27
  it "adds scheduler ui to the sidekiq initializer" do
@@ -0,0 +1,47 @@
1
+ require "spec_helper"
2
+ require "pry"
3
+ RSpec.describe "VueAdmin" do
4
+ before(:all) do
5
+ drop_dummy_database
6
+ remove_project_directory
7
+ create_dummy_project(:vue_admin => true, "admin" => true, "devise" => true)
8
+ end
9
+
10
+ it "adds component integration to active admin initializer" do
11
+ admin_initializer_path = "#{project_path}/config/initializers/active_admin.rb"
12
+ expect(File).to be_file(admin_initializer_path)
13
+ initializer_file = File.read(admin_initializer_path)
14
+ expect(initializer_file).to include("AUTO_BUILD_ELEMENTS")
15
+ end
16
+
17
+ it "adds layout tags to active admin layout initializer" do
18
+ initializer_path = "#{project_path}/config/initializers/init_activeadmin_vue.rb"
19
+ expect(File).to be_file(initializer_path)
20
+ end
21
+
22
+ it "adds vue_component to library" do
23
+ vue_component_lib_path = "#{project_path}/lib/vue_component.rb"
24
+ expect(File).to be_file(vue_component_lib_path)
25
+ vue_component_lib = File.read(vue_component_lib_path)
26
+ expect(vue_component_lib).to include("VueComponent")
27
+ end
28
+
29
+ it "adds admin_application pack to packs" do
30
+ application_pack_path = "#{project_path}/app/javascript/packs/admin_application.js"
31
+ expect(File).to be_file(application_pack_path)
32
+ end
33
+
34
+ it "adds admin_component to vue components" do
35
+ application_pack_path = "#{project_path}/app/javascript/components/admin-component.vue"
36
+ expect(File).to be_file(application_pack_path)
37
+ end
38
+
39
+ it "installs vue to project" do
40
+ package_json_path = "#{project_path}/package.json"
41
+ expect(File).to be_file(package_json_path)
42
+ json_file = File.read(package_json_path)
43
+ js_package = JSON.parse(json_file)
44
+ expect(js_package).to have_key("dependencies")
45
+ expect(js_package["dependencies"]).to have_key("vue")
46
+ end
47
+ end
data/spec/spec_helper.rb CHANGED
@@ -26,8 +26,13 @@ RSpec.configure do |config|
26
26
  create_tmp_directory
27
27
  end
28
28
 
29
+ config.after(:each) do
30
+ docker_cleanup
31
+ end
32
+
29
33
  config.before(:each) do
30
34
  FakeGithub.clear!
31
35
  FakeHeroku.clear!
36
+ FakeOctokit.clear!
32
37
  end
33
38
  end
@@ -0,0 +1,31 @@
1
+ class FakeOctokit
2
+ RECORDER = File.expand_path(File.join('..', '..', 'tmp', 'octokit'), File.dirname(__FILE__))
3
+
4
+ def initialize(options); end
5
+
6
+ def create_repository(repo_name, options)
7
+ File.open(RECORDER, 'a') do |file|
8
+ file.write "#{repo_name}, #{options.map { |key, value| "#{key}: #{value}" }}"
9
+ end
10
+ end
11
+
12
+ def self.clear!
13
+ FileUtils.rm_rf RECORDER
14
+ end
15
+
16
+ def self.has_created_repo?(repo_name)
17
+ File.read(RECORDER).include? repo_name
18
+ end
19
+
20
+ def self.has_created_private_repo?(repo_name)
21
+ has_created_repo?(repo_name) && File.read(RECORDER).include?("private: true")
22
+ end
23
+
24
+ def self.has_created_repo_for_org?(repo_name, org_name)
25
+ has_created_repo?(repo_name) && File.read(RECORDER).include?("organization: #{org_name}")
26
+ end
27
+
28
+ def self.has_created_private_repo_for_org?(repo_name, org_name)
29
+ has_created_private_repo?(repo_name) && has_created_repo_for_org?(repo_name, org_name)
30
+ end
31
+ end
@@ -19,20 +19,25 @@ module PotassiumTestHelpers
19
19
  Dir.chdir(tmp_path) do
20
20
  Bundler.with_clean_env do
21
21
  add_fakes_to_path
22
+ add_project_bin_to_path
22
23
  full_arguments = hash_to_arguments(create_arguments(true).merge(arguments))
23
24
  run_command("#{potassium_bin} create #{APP_NAME} #{full_arguments}")
24
- on_project { run_command("hound rules update ruby --local") }
25
25
  end
26
26
  end
27
27
  end
28
28
 
29
29
  def drop_dummy_database
30
30
  return unless File.exist?(project_path)
31
+
31
32
  on_project { run_command("bundle exec rails db:drop") }
32
33
  end
33
34
 
35
+ def add_project_bin_to_path
36
+ add_to_path project_bin, true
37
+ end
38
+
34
39
  def add_fakes_to_path
35
- ENV["PATH"] = "#{support_bin}:#{ENV['PATH']}"
40
+ add_to_path support_bin
36
41
  end
37
42
 
38
43
  def project_path
@@ -47,15 +52,11 @@ module PotassiumTestHelpers
47
52
  end
48
53
  end
49
54
 
50
- private
51
-
52
- def tmp_path
53
- @tmp_path ||= Pathname.new("#{root_path}/tmp")
55
+ def docker_cleanup
56
+ run_command(`docker-compose -f #{project_path}/docker-compose.yml down --volumes`)
54
57
  end
55
58
 
56
- def potassium_bin
57
- File.join(root_path, "bin", "potassium")
58
- end
59
+ private
59
60
 
60
61
  def hash_to_arguments(hash)
61
62
  hash.map do |key, value|
@@ -69,10 +70,26 @@ module PotassiumTestHelpers
69
70
  end.join(" ")
70
71
  end
71
72
 
73
+ def add_to_path(new_path, append = false)
74
+ ENV['PATH'] = append ? "#{ENV['PATH']}:#{new_path}" : "#{new_path}:#{ENV['PATH']}"
75
+ end
76
+
77
+ def project_bin
78
+ File.join(project_path, 'bin')
79
+ end
80
+
81
+ def potassium_bin
82
+ File.join(root_path, "bin", "potassium")
83
+ end
84
+
72
85
  def support_bin
73
86
  File.join(root_path, "spec", "fakes", "bin")
74
87
  end
75
88
 
89
+ def tmp_path
90
+ @tmp_path ||= Pathname.new("#{root_path}/tmp")
91
+ end
92
+
76
93
  def root_path
77
94
  File.expand_path("../../../", __FILE__)
78
95
  end
data/tmp/.keep ADDED
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: potassium
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.1
4
+ version: 6.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - juliogarciag
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-31 00:00:00.000000000 Z
11
+ date: 2021-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.7'
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.10.3
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.10.3
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '10.0'
47
+ version: '13.0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '10.0'
54
+ version: '13.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rspec
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,47 +67,89 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: 3.4.0
55
69
  - !ruby/object:Gem::Dependency
56
- name: pry
70
+ name: rspec_junit_formatter
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: 0.10.3
89
+ version: '1.9'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: 0.10.3
96
+ version: '1.9'
69
97
  - !ruby/object:Gem::Dependency
70
- name: rubocop
98
+ name: rubocop-performance
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop-rspec
71
127
  requirement: !ruby/object:Gem::Requirement
72
128
  requirements:
73
129
  - - "~>"
74
130
  - !ruby/object:Gem::Version
75
- version: 0.65.0
131
+ version: '2.2'
76
132
  type: :development
77
133
  prerelease: false
78
134
  version_requirements: !ruby/object:Gem::Requirement
79
135
  requirements:
80
136
  - - "~>"
81
137
  - !ruby/object:Gem::Version
82
- version: 0.65.0
138
+ version: '2.2'
83
139
  - !ruby/object:Gem::Dependency
84
- name: rails
140
+ name: gems
85
141
  requirement: !ruby/object:Gem::Requirement
86
142
  requirements:
87
143
  - - "~>"
88
144
  - !ruby/object:Gem::Version
89
- version: 5.2.1
145
+ version: '0.8'
90
146
  type: :runtime
91
147
  prerelease: false
92
148
  version_requirements: !ruby/object:Gem::Requirement
93
149
  requirements:
94
150
  - - "~>"
95
151
  - !ruby/object:Gem::Version
96
- version: 5.2.1
152
+ version: '0.8'
97
153
  - !ruby/object:Gem::Dependency
98
154
  name: gli
99
155
  requirement: !ruby/object:Gem::Requirement
@@ -123,47 +179,61 @@ dependencies:
123
179
  - !ruby/object:Gem::Version
124
180
  version: '0.2'
125
181
  - !ruby/object:Gem::Dependency
126
- name: gems
182
+ name: levenshtein
127
183
  requirement: !ruby/object:Gem::Requirement
128
184
  requirements:
129
185
  - - "~>"
130
186
  - !ruby/object:Gem::Version
131
- version: '0.8'
187
+ version: '0.2'
132
188
  type: :runtime
133
189
  prerelease: false
134
190
  version_requirements: !ruby/object:Gem::Requirement
135
191
  requirements:
136
192
  - - "~>"
137
193
  - !ruby/object:Gem::Version
138
- version: '0.8'
194
+ version: '0.2'
139
195
  - !ruby/object:Gem::Dependency
140
- name: semantic
196
+ name: octokit
141
197
  requirement: !ruby/object:Gem::Requirement
142
198
  requirements:
143
199
  - - "~>"
144
200
  - !ruby/object:Gem::Version
145
- version: '1.4'
201
+ version: '4.18'
146
202
  type: :runtime
147
203
  prerelease: false
148
204
  version_requirements: !ruby/object:Gem::Requirement
149
205
  requirements:
150
206
  - - "~>"
151
207
  - !ruby/object:Gem::Version
152
- version: '1.4'
208
+ version: '4.18'
153
209
  - !ruby/object:Gem::Dependency
154
- name: levenshtein
210
+ name: rails
155
211
  requirement: !ruby/object:Gem::Requirement
156
212
  requirements:
157
213
  - - "~>"
158
214
  - !ruby/object:Gem::Version
159
- version: '0.2'
215
+ version: 6.0.2
160
216
  type: :runtime
161
217
  prerelease: false
162
218
  version_requirements: !ruby/object:Gem::Requirement
163
219
  requirements:
164
220
  - - "~>"
165
221
  - !ruby/object:Gem::Version
166
- version: '0.2'
222
+ version: 6.0.2
223
+ - !ruby/object:Gem::Dependency
224
+ name: semantic
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '1.4'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '1.4'
167
237
  description: An application generator from Platanus
168
238
  email:
169
239
  - julioggonz@gmail.com
@@ -173,9 +243,12 @@ executables:
173
243
  extensions: []
174
244
  extra_rdoc_files: []
175
245
  files:
246
+ - ".circleci/config.yml"
176
247
  - ".editorconfig"
177
248
  - ".gitignore"
249
+ - ".node-version"
178
250
  - ".rspec"
251
+ - ".rubocop.yml"
179
252
  - ".ruby-version"
180
253
  - CHANGELOG.md
181
254
  - Gemfile
@@ -184,42 +257,62 @@ files:
184
257
  - Rakefile
185
258
  - bin/potassium
186
259
  - bin/potassium_test
187
- - circle.yml
188
260
  - docs/CONTRIBUTING.md
189
261
  - docs/DSL.md
190
262
  - lib/potassium.rb
191
263
  - lib/potassium/assets/.buildpacks
192
- - lib/potassium/assets/.circleci/config.yml
264
+ - lib/potassium/assets/.circleci/config.yml.erb
193
265
  - lib/potassium/assets/.dockerignore
194
266
  - lib/potassium/assets/.editorconfig
195
267
  - lib/potassium/assets/.env.development.erb
268
+ - lib/potassium/assets/.eslintrc.json
269
+ - lib/potassium/assets/.github/pull_request_template.md
196
270
  - lib/potassium/assets/.pryrc
271
+ - lib/potassium/assets/.rubocop.yml
272
+ - lib/potassium/assets/.stylelintrc.json
197
273
  - lib/potassium/assets/Dockerfile.ci
198
274
  - lib/potassium/assets/Makefile.erb
199
275
  - lib/potassium/assets/Procfile
200
276
  - lib/potassium/assets/README.md.erb
201
277
  - lib/potassium/assets/README.yml
202
- - lib/potassium/assets/active_admin/active_admin.js.coffee
278
+ - lib/potassium/assets/active_admin/admin-component.vue
279
+ - lib/potassium/assets/active_admin/admin_application.js
203
280
  - lib/potassium/assets/active_admin/admin_user_policy.rb
204
281
  - lib/potassium/assets/active_admin/comment_policy.rb
205
- - lib/potassium/assets/active_admin/init_activeadmin_angular.rb
282
+ - lib/potassium/assets/active_admin/init_activeadmin_vue.rb
206
283
  - lib/potassium/assets/active_admin/pundit_page_policy.rb
207
- - lib/potassium/assets/api/api_error_concern.rb
208
- - lib/potassium/assets/api/base_controller.rb
209
- - lib/potassium/assets/api/draper_responder.rb
210
- - lib/potassium/assets/api/responder.rb
284
+ - lib/potassium/assets/app/graphql/graphql_controller.rb
285
+ - lib/potassium/assets/app/graphql/mutations/login_mutation.rb
286
+ - lib/potassium/assets/app/graphql/queries/base_query.rb
287
+ - lib/potassium/assets/app/graphql/types/base/base_argument.rb
288
+ - lib/potassium/assets/app/graphql/types/base/base_enum.rb
289
+ - lib/potassium/assets/app/graphql/types/base/base_field.rb
290
+ - lib/potassium/assets/app/graphql/types/base/base_input_object.rb
291
+ - lib/potassium/assets/app/graphql/types/base/base_interface.rb
292
+ - lib/potassium/assets/app/graphql/types/base/base_object.rb
293
+ - lib/potassium/assets/app/graphql/types/base/base_scalar.rb
294
+ - lib/potassium/assets/app/graphql/types/base/base_union.rb
295
+ - lib/potassium/assets/app/graphql/types/mutation_type.rb
296
+ - lib/potassium/assets/app/graphql/types/query_type.rb
297
+ - lib/potassium/assets/app/javascript/app.spec.js
211
298
  - lib/potassium/assets/app/mailers/application_mailer.rb
212
- - lib/potassium/assets/aws.rb
299
+ - lib/potassium/assets/app/uploaders/base_uploader.rb
300
+ - lib/potassium/assets/app/uploaders/image_uploader.rb
301
+ - lib/potassium/assets/app/views/shared/_gtm_body.html.erb
302
+ - lib/potassium/assets/app/views/shared/_gtm_head.html.erb
213
303
  - lib/potassium/assets/bin/cibuild.erb
304
+ - lib/potassium/assets/bin/release
214
305
  - lib/potassium/assets/bin/setup.erb
215
306
  - lib/potassium/assets/bin/setup_heroku.erb
216
307
  - lib/potassium/assets/bin/update.erb
217
308
  - lib/potassium/assets/config/database_mysql.yml.erb
218
309
  - lib/potassium/assets/config/database_postgresql.yml.erb
310
+ - lib/potassium/assets/config/graphql_playground.rb
219
311
  - lib/potassium/assets/config/mailer.rb.erb
220
312
  - lib/potassium/assets/config/puma.rb
221
313
  - lib/potassium/assets/config/secrets.yml.erb
222
314
  - lib/potassium/assets/config/sentry.rb.erb
315
+ - lib/potassium/assets/config/shrine.rb
223
316
  - lib/potassium/assets/config/storage.yml
224
317
  - lib/potassium/assets/docker-compose.ci.yml
225
318
  - lib/potassium/assets/docker-compose.yml
@@ -233,9 +326,7 @@ files:
233
326
  - lib/potassium/assets/seeds/seeds.rb
234
327
  - lib/potassium/assets/sidekiq.rb.erb
235
328
  - lib/potassium/assets/sidekiq.yml
236
- - lib/potassium/assets/sidekiq_scheduler.yml
237
329
  - lib/potassium/assets/testing/.rspec
238
- - lib/potassium/assets/testing/paperclip.rb
239
330
  - lib/potassium/assets/testing/platanus.png
240
331
  - lib/potassium/assets/testing/rails_helper.rb
241
332
  - lib/potassium/cli.rb
@@ -256,17 +347,16 @@ files:
256
347
  - lib/potassium/helpers/template-helpers.rb
257
348
  - lib/potassium/helpers/variable-helpers.rb
258
349
  - lib/potassium/newest_version_ensurer.rb
350
+ - lib/potassium/node_version_ensurer.rb
259
351
  - lib/potassium/recipe.rb
260
- - lib/potassium/recipes/active_storage.rb
261
352
  - lib/potassium/recipes/admin.rb
262
- - lib/potassium/recipes/angular_admin.rb
263
353
  - lib/potassium/recipes/annotate.rb
264
354
  - lib/potassium/recipes/api.rb
265
- - lib/potassium/recipes/aws_sdk.rb
266
355
  - lib/potassium/recipes/background_processor.rb
267
356
  - lib/potassium/recipes/better_errors.rb
268
357
  - lib/potassium/recipes/ci.rb
269
358
  - lib/potassium/recipes/cleanup.rb
359
+ - lib/potassium/recipes/data_migrate.rb
270
360
  - lib/potassium/recipes/database.rb
271
361
  - lib/potassium/recipes/database_container.rb
272
362
  - lib/potassium/recipes/devise.rb
@@ -274,13 +364,15 @@ files:
274
364
  - lib/potassium/recipes/editorconfig.rb
275
365
  - lib/potassium/recipes/env.rb
276
366
  - lib/potassium/recipes/error_reporting.rb
367
+ - lib/potassium/recipes/file_storage.rb
277
368
  - lib/potassium/recipes/front_end.rb
278
369
  - lib/potassium/recipes/github.rb
370
+ - lib/potassium/recipes/google_tag_manager.rb
279
371
  - lib/potassium/recipes/heroku.rb
280
372
  - lib/potassium/recipes/i18n.rb
281
373
  - lib/potassium/recipes/listen.rb
282
374
  - lib/potassium/recipes/mailer.rb
283
- - lib/potassium/recipes/paperclip.rb
375
+ - lib/potassium/recipes/node.rb
284
376
  - lib/potassium/recipes/power_types.rb
285
377
  - lib/potassium/recipes/pry.rb
286
378
  - lib/potassium/recipes/puma.rb
@@ -296,6 +388,7 @@ files:
296
388
  - lib/potassium/recipes/style.rb
297
389
  - lib/potassium/recipes/testing.rb
298
390
  - lib/potassium/recipes/tzinfo.rb
391
+ - lib/potassium/recipes/vue_admin.rb
299
392
  - lib/potassium/recipes/yarn.rb
300
393
  - lib/potassium/template_finder.rb
301
394
  - lib/potassium/templates/application.rb
@@ -306,29 +399,38 @@ files:
306
399
  - potassium.gemspec
307
400
  - spec/fakes/bin/heroku
308
401
  - spec/fakes/bin/hub
309
- - spec/features/active_storage_spec.rb
402
+ - spec/features/api_spec.rb
310
403
  - spec/features/background_processor_spec.rb
311
404
  - spec/features/ci_spec.rb
405
+ - spec/features/data_migrate_spec.rb
312
406
  - spec/features/database_container_spec.rb
313
407
  - spec/features/database_spec.rb
314
408
  - spec/features/draper_spec.rb
315
409
  - spec/features/error_reporting_spec.rb
316
- - spec/features/front_end.rb
410
+ - spec/features/file_storage_spec.rb
411
+ - spec/features/front_end_spec.rb
317
412
  - spec/features/github_spec.rb
413
+ - spec/features/google_tag_manager_spec.rb
414
+ - spec/features/graphql_spec.rb
318
415
  - spec/features/heroku_spec.rb
319
416
  - spec/features/i18n_spec.rb
417
+ - spec/features/mailer_spec.rb
320
418
  - spec/features/new_project_spec.rb
419
+ - spec/features/node_spec.rb
321
420
  - spec/features/power_types_spec.rb
322
421
  - spec/features/schedule_spec.rb
422
+ - spec/features/vue_admin_spec.rb
323
423
  - spec/spec_helper.rb
324
424
  - spec/support/fake_github.rb
325
425
  - spec/support/fake_heroku.rb
426
+ - spec/support/fake_octokit.rb
326
427
  - spec/support/potassium_test_helpers.rb
428
+ - tmp/.keep
327
429
  homepage: https://github.com/platanus/potassium
328
430
  licenses:
329
431
  - MIT
330
432
  metadata: {}
331
- post_install_message:
433
+ post_install_message:
332
434
  rdoc_options: []
333
435
  require_paths:
334
436
  - lib
@@ -343,29 +445,36 @@ required_rubygems_version: !ruby/object:Gem::Requirement
343
445
  - !ruby/object:Gem::Version
344
446
  version: '0'
345
447
  requirements: []
346
- rubyforge_project:
347
- rubygems_version: 2.7.6.2
348
- signing_key:
448
+ rubygems_version: 3.1.2
449
+ signing_key:
349
450
  specification_version: 4
350
451
  summary: An application generator from Platanus
351
452
  test_files:
352
453
  - spec/fakes/bin/heroku
353
454
  - spec/fakes/bin/hub
354
- - spec/features/active_storage_spec.rb
455
+ - spec/features/api_spec.rb
355
456
  - spec/features/background_processor_spec.rb
356
457
  - spec/features/ci_spec.rb
458
+ - spec/features/data_migrate_spec.rb
357
459
  - spec/features/database_container_spec.rb
358
460
  - spec/features/database_spec.rb
359
461
  - spec/features/draper_spec.rb
360
462
  - spec/features/error_reporting_spec.rb
361
- - spec/features/front_end.rb
463
+ - spec/features/file_storage_spec.rb
464
+ - spec/features/front_end_spec.rb
362
465
  - spec/features/github_spec.rb
466
+ - spec/features/google_tag_manager_spec.rb
467
+ - spec/features/graphql_spec.rb
363
468
  - spec/features/heroku_spec.rb
364
469
  - spec/features/i18n_spec.rb
470
+ - spec/features/mailer_spec.rb
365
471
  - spec/features/new_project_spec.rb
472
+ - spec/features/node_spec.rb
366
473
  - spec/features/power_types_spec.rb
367
474
  - spec/features/schedule_spec.rb
475
+ - spec/features/vue_admin_spec.rb
368
476
  - spec/spec_helper.rb
369
477
  - spec/support/fake_github.rb
370
478
  - spec/support/fake_heroku.rb
479
+ - spec/support/fake_octokit.rb
371
480
  - spec/support/potassium_test_helpers.rb