potassium 5.2.1 → 6.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.
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