souls 1.12.5 → 1.13.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/souls/app/index.rb +1 -0
  3. data/lib/souls/app/utils/painter.rb +33 -0
  4. data/lib/souls/cli/create/index.rb +14 -12
  5. data/lib/souls/cli/db/create_migration.rb +1 -1
  6. data/lib/souls/cli/db/create_migration_rbs.rb +1 -1
  7. data/lib/souls/cli/db/index.rb +1 -0
  8. data/lib/souls/cli/db/model.rb +1 -1
  9. data/lib/souls/cli/db/model_rbs.rb +1 -1
  10. data/lib/souls/cli/db/rspec_model.rb +1 -1
  11. data/lib/souls/cli/delete/connection_rbs.rb +1 -1
  12. data/lib/souls/cli/delete/edge.rb +1 -1
  13. data/lib/souls/cli/delete/job.rb +1 -1
  14. data/lib/souls/cli/delete/job_rbs.rb +1 -1
  15. data/lib/souls/cli/delete/manager.rb +1 -1
  16. data/lib/souls/cli/delete/manager_rbs.rb +1 -1
  17. data/lib/souls/cli/delete/migration_file.rb +24 -0
  18. data/lib/souls/cli/delete/mutation.rb +1 -1
  19. data/lib/souls/cli/delete/mutation_rbs.rb +1 -1
  20. data/lib/souls/cli/delete/query.rb +1 -1
  21. data/lib/souls/cli/delete/query_rbs.rb +1 -1
  22. data/lib/souls/cli/delete/resolver.rb +1 -1
  23. data/lib/souls/cli/delete/resolver_rbs.rb +1 -1
  24. data/lib/souls/cli/delete/rspec_factory.rb +1 -1
  25. data/lib/souls/cli/delete/rspec_job.rb +1 -1
  26. data/lib/souls/cli/delete/rspec_manager.rb +1 -1
  27. data/lib/souls/cli/delete/rspec_mutation.rb +1 -1
  28. data/lib/souls/cli/delete/rspec_query.rb +1 -1
  29. data/lib/souls/cli/delete/rspec_resolver.rb +1 -1
  30. data/lib/souls/cli/delete/type.rb +1 -1
  31. data/lib/souls/cli/delete/type_rbs.rb +1 -1
  32. data/lib/souls/cli/gcloud/compute/index.rb +2 -2
  33. data/lib/souls/cli/gcloud/sql/index.rb +45 -37
  34. data/lib/souls/cli/generate/connection.rb +1 -1
  35. data/lib/souls/cli/generate/connection_rbs.rb +1 -1
  36. data/lib/souls/cli/generate/edge.rb +1 -1
  37. data/lib/souls/cli/generate/edge_rbs.rb +2 -2
  38. data/lib/souls/cli/generate/job.rb +5 -5
  39. data/lib/souls/cli/generate/job_rbs.rb +2 -3
  40. data/lib/souls/cli/generate/manager.rb +1 -1
  41. data/lib/souls/cli/generate/manager_rbs.rb +2 -2
  42. data/lib/souls/cli/generate/mutation.rb +4 -4
  43. data/lib/souls/cli/generate/mutation_rbs.rb +4 -4
  44. data/lib/souls/cli/generate/query.rb +2 -2
  45. data/lib/souls/cli/generate/query_rbs.rb +2 -2
  46. data/lib/souls/cli/generate/resolver.rb +1 -1
  47. data/lib/souls/cli/generate/resolver_rbs.rb +2 -2
  48. data/lib/souls/cli/generate/rspec_factory.rb +1 -1
  49. data/lib/souls/cli/generate/rspec_job.rb +2 -4
  50. data/lib/souls/cli/generate/rspec_manager.rb +1 -1
  51. data/lib/souls/cli/generate/rspec_mutation.rb +1 -1
  52. data/lib/souls/cli/generate/rspec_query.rb +1 -1
  53. data/lib/souls/cli/generate/rspec_resolver.rb +1 -1
  54. data/lib/souls/cli/generate/type.rb +1 -1
  55. data/lib/souls/cli/generate/type_rbs.rb +1 -1
  56. data/lib/souls/cli/github/index.rb +10 -7
  57. data/lib/souls/cli/release/release.rb +1 -1
  58. data/lib/souls/cli/sync/conf.rb +5 -7
  59. data/lib/souls/cli/sync/model.rb +1 -1
  60. data/lib/souls/cli/sync/pubsub.rb +1 -1
  61. data/lib/souls/cli/update/mutation.rb +6 -10
  62. data/lib/souls/cli/update/mutation_rbs.rb +2 -2
  63. data/lib/souls/cli/update/resolver.rb +1 -1
  64. data/lib/souls/cli/update/rspec_factory.rb +1 -1
  65. data/lib/souls/cli/update/rspec_mutation.rb +1 -1
  66. data/lib/souls/cli/update/rspec_resolver.rb +1 -1
  67. data/lib/souls/cli/update/type.rb +1 -1
  68. data/lib/souls/cli/update/type_rbs.rb +1 -1
  69. data/lib/souls/version.rb +1 -1
  70. data/lib/souls/versions/.souls_api_version +1 -1
  71. data/lib/souls/versions/.souls_worker_version +1 -1
  72. metadata +4 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76ea8477f283467da48f1a39c654ef05bb1c647f1353ba372a2e2eab3e2c9da7
4
- data.tar.gz: 7a00b7c892c236cfbe63172ac1bfcf1cab904c85a43a3cf3cfd3f036d4307f0d
3
+ metadata.gz: 2a3f918c37ef59dfb41e4a7e5d1447f2c335025475bfb2824237eefb96367f49
4
+ data.tar.gz: 92e1830bc1a1e88d766093fd59b214372080b3b352f3a2c3dee1fec905447a21
5
5
  SHA512:
6
- metadata.gz: 6953a337239fa68f7f0645256897c1832362b54fb572951776b31095e6134dbabd18a79299aea1eaefe55c27d3548489eef1f5b2b42bd12e13dde28d7a6079b2
7
- data.tar.gz: '058e5a99f010a13805803da15715378ec73cd87ffd507dcd28740779502657295ef94e794b2a01c6a1e7fe439cd7fab7b05bc4e12d34d69b1055752685700801'
6
+ metadata.gz: ac95676be7662121af2881c8358a296fb81259bb001b119c722936f60a2bd9728717a6733fc81fc35f735e4b7428c44ebd332f216ded7763254d50401da1eee1
7
+ data.tar.gz: 567ee50475a74443d694019edfc7f31dc8b884488557dda907313280b7cd8406efccfd3e836211910b14c052d14ce37caef6f6163c87ba8fbf284247c45165ec
@@ -2,6 +2,7 @@ require_relative "graphql/souls_mutation"
2
2
  require_relative "graphql/souls_query"
3
3
  require_relative "graphql/souls_connection"
4
4
  require_relative "utils/souls_logger"
5
+ require_relative "utils/painter"
5
6
  require_relative "utils/firebase_id_token"
6
7
  require_relative "graphql/types/index"
7
8
 
@@ -0,0 +1,33 @@
1
+ module Souls
2
+ module Painter
3
+ class << self
4
+ def create_file(text)
5
+ puts(Paint % ["✓ %{white_text}", :green, { white_text: ["Created file #{text}", :white] }])
6
+ end
7
+
8
+ def update_file(text)
9
+ puts(Paint % ["✓ %{white_text}", :yellow, { white_text: ["Updated file #{text}", :white] }])
10
+ end
11
+
12
+ def delete_file(text)
13
+ puts(Paint % ["✓ %{white_text}", :red, { white_text: ["Deleted file #{text}", :white] }])
14
+ end
15
+
16
+ def error(text)
17
+ puts(Paint["🚨 #{text}", :red])
18
+ end
19
+
20
+ def warning(text)
21
+ puts(Paint["🚨 #{text}", :yellow])
22
+ end
23
+
24
+ def success(text)
25
+ puts(Paint["🎉 #{text}", :green])
26
+ end
27
+
28
+ def sync(text)
29
+ puts(Paint % ["✓ %{white_text}", :blue, { white_text: ["Synced #{text}", :white] }])
30
+ end
31
+ end
32
+ end
33
+ end
@@ -145,11 +145,24 @@ end
145
145
  uses: ruby/setup-ruby@v1
146
146
  with:
147
147
  ruby-version: 3.0
148
+
149
+ - name: Checkout the repository
150
+ uses: actions/checkout@v2
151
+
152
+ - name: GCP Authenticate
153
+ uses: google-github-actions/setup-gcloud@master
154
+ with:
155
+ version: "323.0.0"
156
+ project_id: ${{ secrets.SOULS_GCP_PROJECT_ID }}
157
+ service_account_key: ${{ secrets.SOULS_GCP_SA_KEY }}
158
+ export_default_credentials: true
159
+
148
160
  - name: Build and test with Rake
149
161
  env:
150
162
  PGHOST: 127.0.0.1
151
163
  PGUSER: postgres
152
164
  RACK_ENV: test
165
+ SOULS_GCP_PROJECT_ID: ${{ secrets.SOULS_GCP_PROJECT_ID }}
153
166
  run: |
154
167
  sudo apt-get -yqq install libpq-dev
155
168
  cd apps/#{worker_name}
@@ -159,17 +172,6 @@ end
159
172
  bundle exec rake db:migrate RACK_ENV=test
160
173
  bundle exec rspec
161
174
 
162
- - name: Checkout the repository
163
- uses: actions/checkout@v2
164
-
165
- - name: GCP Authenticate
166
- uses: google-github-actions/setup-gcloud@master
167
- with:
168
- version: "323.0.0"
169
- project_id: ${{ secrets.SOULS_GCP_PROJECT_ID }}
170
- service_account_key: ${{ secrets.SOULS_GCP_SA_KEY }}
171
- export_default_credentials: true
172
-
173
175
  - name: Sync Tasks
174
176
  run: cd apps/#{worker_name} && souls gcloud scheduler sync_schedules --timezone=${{ secrets.TZ }}
175
177
 
@@ -203,7 +205,7 @@ end
203
205
  --set-env-vars="SOULS_PROJECT_ID=${{ secrets.SOULS_GCP_PROJECT_ID }}"
204
206
  TEXT
205
207
  end
206
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
208
+ Souls::Painter.create_file(file_path.to_s)
207
209
  file_path
208
210
  end
209
211
 
@@ -7,7 +7,7 @@ module Souls
7
7
  Souls::DB.new.invoke(:model, [singularized_class_name], {})
8
8
  Souls::DB.new.invoke(:rspec_model, [singularized_class_name], {})
9
9
  Souls::DB.new.invoke(:model_rbs, [singularized_class_name], {})
10
- puts(Paint["Created file! : ", :green])
10
+ Souls::Painter.create_file("")
11
11
  system("rake db:create_migration NAME=create_#{pluralized_class_name}")
12
12
  file_path = Dir["db/migrate/*create_#{pluralized_class_name}.rb"].first
13
13
  File.open(file_path, "w") do |f|
@@ -17,7 +17,7 @@ module Souls
17
17
  end
18
18
  TEXT
19
19
  end
20
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
20
+ Souls::Painter.create_file(file_path.to_s)
21
21
  end
22
22
  file_path
23
23
  end
@@ -51,6 +51,7 @@ module Souls
51
51
  db_system("rake db:migrate:reset RACK_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1")
52
52
  else
53
53
  db_system("rake db:migrate:reset")
54
+ db_system("rake db:migrate RACK_ENV=test")
54
55
  end
55
56
  end
56
57
 
@@ -13,7 +13,7 @@ module Souls
13
13
  end
14
14
  TEXT
15
15
  end
16
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
16
+ Souls::Painter.create_file(file_path.to_s)
17
17
  file_path
18
18
  end
19
19
  end
@@ -14,7 +14,7 @@ module Souls
14
14
  end
15
15
  TEXT
16
16
  end
17
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
17
+ Souls::Painter.create_file(file_path.to_s)
18
18
  end
19
19
  file_path
20
20
  end
@@ -18,7 +18,7 @@ module Souls
18
18
  end
19
19
  TEXT
20
20
  end
21
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
21
+ Souls::Painter.create_file(file_path.to_s)
22
22
  file_path
23
23
  end
24
24
  end
@@ -8,7 +8,7 @@ module Souls
8
8
  file_dir = "./sig/api/app/graphql/types/connections/"
9
9
  file_path = "#{file_dir}#{singularized_class_name}_connection.rbs"
10
10
  FileUtils.rm_f(file_path)
11
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
11
+ Souls::Painter.delete_file(file_path.to_s)
12
12
  end
13
13
  file_path
14
14
  end
@@ -6,7 +6,7 @@ module Souls
6
6
  singularized_class_name = class_name.underscore.singularize
7
7
  file_path = "#{file_dir}#{singularized_class_name}_edge.rb"
8
8
  FileUtils.rm_f(file_path)
9
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
9
+ Souls::Painter.delete_file(file_path.to_s)
10
10
  file_path
11
11
  end
12
12
  end
@@ -7,7 +7,7 @@ module Souls
7
7
  file_path = "#{file_dir}#{class_name.singularize}.rb"
8
8
 
9
9
  FileUtils.rm_f(file_path)
10
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
10
+ Souls::Painter.delete_file(file_path.to_s)
11
11
  Souls::Delete.new.invoke(:job_rbs, [class_name], {})
12
12
  Souls::Delete.new.invoke(:rspec_job, [class_name], {})
13
13
  end
@@ -14,7 +14,7 @@ module Souls
14
14
  FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
15
15
  file_path = "#{file_dir}#{singularized_class_name}.rbs"
16
16
  FileUtils.rm_f(file_path)
17
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
17
+ Souls::Painter.delete_file(file_path.to_s)
18
18
  end
19
19
  file_path
20
20
  end
@@ -8,7 +8,7 @@ module Souls
8
8
  file_path = "#{file_dir}/#{options[:mutation]}.rb"
9
9
 
10
10
  FileUtils.rm_f(file_path)
11
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
11
+ Souls::Painter.delete_file(file_path.to_s)
12
12
  Souls::Delete.new.invoke(:manager_rbs, [singularized_class_name], { mutation: options[:mutation] })
13
13
  Souls::Delete.new.invoke(:rspec_manager, [singularized_class_name], { mutation: options[:mutation] })
14
14
  file_path
@@ -9,7 +9,7 @@ module Souls
9
9
  file_dir = "./sig/api/app/graphql/mutations/managers/#{singularized_class_name}_manager"
10
10
  file_path = "#{file_dir}/#{options[:mutation]}.rbs"
11
11
  FileUtils.rm_f(file_path)
12
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
12
+ Souls::Painter.delete_file(file_path.to_s)
13
13
  end
14
14
  file_path
15
15
  end
@@ -0,0 +1,24 @@
1
+ module Souls
2
+ class Delete < Thor
3
+ desc "migration [migration_NAME]", "Delete Migration files Template"
4
+ def migration(class_name)
5
+ singularized_class_name = class_name.underscore.singularize
6
+ pluralized_class_name = class_name.underscore.pluralize
7
+ Dir.chdir(Souls.get_mother_path.to_s) do
8
+ file_paths = {
9
+ model_file_path: "./apps/api/app/models/#{singularized_class_name}.rb",
10
+ rspec_file_path: "./apps/api/spec/models/#{singularized_class_name}_spec.rb",
11
+ rbs_file_path: "./sig/api/app/models/#{singularized_class_name}.rbs",
12
+ migration_file_path: Dir["db/migrate/*create_#{pluralized_class_name}.rb"].first
13
+ }
14
+ file_paths.each do |_k, v|
15
+ FileUtils.rm_f(v)
16
+ Souls::Painter.delete_file(v)
17
+ rescue StandardError => e
18
+ puts(e)
19
+ end
20
+ file_paths
21
+ end
22
+ end
23
+ end
24
+ end
@@ -8,7 +8,7 @@ module Souls
8
8
  file_path = "./app/graphql/mutations/base/#{singularized_class_name}/"
9
9
  FileUtils.rm_rf(file_path)
10
10
  end
11
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
11
+ Souls::Painter.delete_file(file_path.to_s)
12
12
  file_path
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module Souls
8
8
  file_dir = "./sig/api/app/graphql/mutations/base/#{singularized_class_name}"
9
9
  FileUtils.rm_rf(file_dir)
10
10
  end
11
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
11
+ Souls::Painter.delete_file(file_path.to_s)
12
12
  file_path
13
13
  end
14
14
  end
@@ -5,7 +5,7 @@ module Souls
5
5
  singularized_class_name = class_name.singularize
6
6
  file_path = "./app/graphql/queries/#{singularized_class_name}*.rb"
7
7
  FileUtils.rm_f(file_path)
8
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
8
+ Souls::Painter.delete_file(file_path.to_s)
9
9
  file_path
10
10
  end
11
11
  end
@@ -8,7 +8,7 @@ module Souls
8
8
  singularized_class_name = class_name.underscore.singularize
9
9
  file_path = "#{file_dir}#{singularized_class_name}*.rbs"
10
10
  FileUtils.rm_f(file_path)
11
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
11
+ Souls::Painter.delete_file(file_path.to_s)
12
12
  file_path
13
13
  end
14
14
  end
@@ -5,7 +5,7 @@ module Souls
5
5
  singularized_class_name = class_name.singularize.underscore
6
6
  file_path = "./app/graphql/resolvers/#{singularized_class_name}_search.rb"
7
7
  FileUtils.rm_f(file_path)
8
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
8
+ Souls::Painter.delete_file(file_path.to_s)
9
9
  file_path
10
10
  end
11
11
  end
@@ -9,7 +9,7 @@ module Souls
9
9
  file_path = "#{file_dir}/#{singularized_class_name}_search.rbs"
10
10
  FileUtils.rm_f(file_path)
11
11
  end
12
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
12
+ Souls::Painter.delete_file(file_path.to_s)
13
13
  file_path
14
14
  end
15
15
  end
@@ -4,7 +4,7 @@ module Souls
4
4
  def rspec_factory(class_name)
5
5
  file_path = "./spec/factories/#{class_name.pluralize}.rb"
6
6
  FileUtils.rm_f(file_path)
7
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
7
+ Souls::Painter.delete_file(file_path.to_s)
8
8
  file_path
9
9
  end
10
10
  end
@@ -6,7 +6,7 @@ module Souls
6
6
  singularized_class_name = class_name.underscore.singularize
7
7
  file_path = "#{file_dir}/#{singularized_class_name}_spec.rb"
8
8
  FileUtils.rm_f(file_path)
9
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
9
+ Souls::Painter.delete_file(file_path.to_s)
10
10
  file_path
11
11
  end
12
12
  end
@@ -6,7 +6,7 @@ module Souls
6
6
  singularized_class_name = class_name.underscore.singularize
7
7
  file_path = "./spec/mutations/managers/#{singularized_class_name}/#{options[:mutation]}_spec.rb"
8
8
  FileUtils.rm_f(file_path)
9
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
9
+ Souls::Painter.delete_file(file_path.to_s)
10
10
  file_path
11
11
  end
12
12
  end
@@ -5,7 +5,7 @@ module Souls
5
5
  singularized_class_name = class_name.singularize
6
6
  file_path = "./spec/mutations/base/#{singularized_class_name}_spec.rb"
7
7
  FileUtils.rm_f(file_path)
8
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
8
+ Souls::Painter.delete_file(file_path.to_s)
9
9
  file_path
10
10
  end
11
11
  end
@@ -5,7 +5,7 @@ module Souls
5
5
  singularized_class_name = class_name.singularize
6
6
  file_path = "./spec/queries/#{singularized_class_name}_spec.rb"
7
7
  FileUtils.rm_f(file_path)
8
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
8
+ Souls::Painter.delete_file(file_path.to_s)
9
9
  file_path
10
10
  end
11
11
  end
@@ -5,7 +5,7 @@ module Souls
5
5
  singularized_class_name = class_name.singularize
6
6
  file_path = "./spec/resolvers/#{singularized_class_name}_search_spec.rb"
7
7
  FileUtils.rm_f(file_path)
8
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
8
+ Souls::Painter.delete_file(file_path.to_s)
9
9
  file_path
10
10
  end
11
11
  end
@@ -5,7 +5,7 @@ module Souls
5
5
  singularized_class_name = class_name.singularize
6
6
  file_path = "./app/graphql/types/#{singularized_class_name}_type.rb"
7
7
  FileUtils.rm_f(file_path)
8
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
8
+ Souls::Painter.delete_file(file_path.to_s)
9
9
  file_path
10
10
  end
11
11
  end
@@ -9,7 +9,7 @@ module Souls
9
9
  file_path = "#{file_dir}/#{singularized_class_name}_type.rbs"
10
10
  FileUtils.rm_f(file_path)
11
11
  end
12
- puts(Paint % ["Deleted file! : %{white_text}", :yellow, { white_text: [file_path.to_s, :white] }])
12
+ Souls::Painter.delete_file(file_path.to_s)
13
13
  file_path
14
14
  end
15
15
  end
@@ -16,7 +16,7 @@ module Souls
16
16
  Souls::Sql.new.invoke(:setup_private_ip)
17
17
  update_workflows
18
18
  update_env
19
- puts(Paint["Cloud NAT is All Set!\n", :white])
19
+ Souls::Painter.success("Cloud NAT is All Set!")
20
20
  puts(
21
21
  Paint % [
22
22
  "Your Worker's External IP: %{white_text}",
@@ -133,7 +133,7 @@ module Souls
133
133
  end
134
134
  workflow.insert(index, " --vpc-connector=#{app_name}-connector \\\n") if connector_index.nil?
135
135
  File.open(file_path, "w") { |f| f.write(workflow.join) }
136
- puts(Paint % ["Updated file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
136
+ Souls::Painter.update_file(file_path.to_s)
137
137
  end
138
138
  end
139
139
  end
@@ -14,43 +14,47 @@ module Souls
14
14
 
15
15
  zone = "#{region}-b"
16
16
  system("gcloud config set project #{project_id} >/dev/null 2>&1")
17
- system(
18
- "gcloud sql instances create #{instance_name} \
19
- --database-version=#{db_type} --cpu=1 --memory=4096MB --zone=#{zone} \
20
- --root-password='#{password}' --database-flags cloudsql.iam_authentication=on"
21
- )
22
- instance_ip = `gcloud sql instances list | grep #{instance_name} | awk '{print $5}'`.strip
23
- Dir.chdir(Souls.get_api_path.to_s) do
24
- file_path = ".env"
25
- File.open(file_path, "w") do |line|
26
- line.write(<<~TEXT)
27
- GOOGLE_AUTH_SUPPRESS_CREDENTIALS_WARNINGS=1
28
- SOULS_DB_HOST=#{instance_ip}
29
- SOULS_DB_PW=#{password}
30
- SOULS_DB_USER=postgres
31
- SOULS_GCP_PROJECT_ID=#{project_id}
32
- SOULS_SECRET_KEY_BASE='#{SecureRandom.base64(64)}'
33
- TZ="#{region_to_timezone(region: region)}"
34
- TEXT
17
+ Whirly.start(spinner: "clock", interval: 420, stop: "🎉") do
18
+ system(
19
+ "gcloud sql instances create #{instance_name} \
20
+ --database-version=#{db_type} --cpu=1 --memory=4096MB --zone=#{zone} \
21
+ --root-password='#{password}' --database-flags cloudsql.iam_authentication=on"
22
+ )
23
+ instance_ip = `gcloud sql instances list | grep #{instance_name} | awk '{print $5}'`.strip
24
+ Dir.chdir(Souls.get_api_path.to_s) do
25
+ file_path = ".env"
26
+ File.open(file_path, "w") do |line|
27
+ line.write(<<~TEXT)
28
+ GOOGLE_AUTH_SUPPRESS_CREDENTIALS_WARNINGS=1
29
+ SOULS_DB_HOST=#{instance_ip}
30
+ SOULS_DB_PW=#{password}
31
+ SOULS_DB_USER=postgres
32
+ SOULS_GCP_PROJECT_ID=#{project_id}
33
+ SOULS_SECRET_KEY_BASE='#{SecureRandom.base64(64)}'
34
+ TZ="#{region_to_timezone(region: region)}"
35
+ TEXT
36
+ end
35
37
  end
36
- end
37
- Dir.chdir(Souls.get_mother_path.to_s) do
38
- file_path = ".env.production"
39
- File.open(file_path, "w") do |line|
40
- line.write(<<~TEXT)
41
- SOULS_DB_HOST="/cloudsql/#{project_id}:#{region}:#{instance_name}"
42
- SOULS_DB_PW=#{password}
43
- SOULS_DB_USER=postgres
44
- SOULS_APP_NAME=#{app_name}
45
- SOULS_GCP_PROJECT_ID=#{project_id}
46
- SOULS_GCP_REGION=#{region}
47
- SOULS_GCLOUDSQL_INSTANCE="#{project_id}:#{region}:#{instance_name}"
48
- SOULS_SECRET_KEY_BASE='#{SecureRandom.base64(64)}'
49
- TZ="#{region_to_timezone(region: region)}"
50
- TEXT
38
+ Dir.chdir(Souls.get_mother_path.to_s) do
39
+ file_path = ".env.production"
40
+ File.open(file_path, "w") do |line|
41
+ line.write(<<~TEXT)
42
+ SOULS_DB_HOST="/cloudsql/#{project_id}:#{region}:#{instance_name}"
43
+ SOULS_DB_PW=#{password}
44
+ SOULS_DB_USER=postgres
45
+ SOULS_APP_NAME=#{app_name}
46
+ SOULS_GCP_PROJECT_ID=#{project_id}
47
+ SOULS_GCP_REGION=#{region}
48
+ SOULS_GCLOUDSQL_INSTANCE="#{project_id}:#{region}:#{instance_name}"
49
+ SOULS_SECRET_KEY_BASE='#{SecureRandom.base64(64)}'
50
+ TZ="#{region_to_timezone(region: region)}"
51
+ TEXT
52
+ end
51
53
  end
54
+ Souls::Github.new.secret_set
55
+ Whirly.status = Paint["Cloud SQL #{instance_name} is successfully created! You can push to deploy!", :green]
52
56
  end
53
- Souls::Github.new
57
+ true
54
58
  end
55
59
 
56
60
  desc "list", "Show Cloud SQL Instances List"
@@ -130,15 +134,19 @@ module Souls
130
134
  ips = (ips + white_ips).uniq
131
135
  end
132
136
  ips = ips.join(",")
133
- system(
134
- "
137
+ Whirly.start(spinner: "clock", interval: 420, stop: "🎉") do
138
+ system(
139
+ "
135
140
  gcloud sql instances patch #{instance_name} \
136
141
  --project=#{project_id} \
137
142
  --assign-ip \
138
143
  --authorized-networks=#{ips} \
139
144
  --quiet
140
145
  "
141
- )
146
+ )
147
+ Whirly.status = Paint["Your IP is successfully added!", :green]
148
+ end
149
+ true
142
150
  end
143
151
 
144
152
  private
@@ -13,7 +13,7 @@ module Souls
13
13
  end
14
14
  TEXT
15
15
  end
16
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
16
+ Souls::Painter.create_file(file_path.to_s)
17
17
  file_path
18
18
  end
19
19
  end
@@ -17,7 +17,7 @@ module Souls
17
17
  end
18
18
  TEXT
19
19
  end
20
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
20
+ Souls::Painter.create_file(file_path.to_s)
21
21
  end
22
22
  file_path
23
23
  end
@@ -13,7 +13,7 @@ module Souls
13
13
  end
14
14
  TEXT
15
15
  end
16
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
16
+ Souls::Painter.create_file(file_path.to_s)
17
17
  file_path
18
18
  end
19
19
  end
@@ -11,7 +11,7 @@ module Souls
11
11
  File.open(file_path, "w") do |f|
12
12
  f.write(<<~TEXT)
13
13
  module Types
14
- class #{singularized_class_name.camelize}Edge < BaseObject
14
+ class #{singularized_class_name.camelize}Edge < Types::BaseEdge
15
15
  def self.edge_type: (*untyped) -> untyped
16
16
  def self.node_type: (*untyped) -> untyped
17
17
  def self.global_id_field: (*untyped) -> untyped
@@ -20,7 +20,7 @@ module Souls
20
20
  end
21
21
  TEXT
22
22
  end
23
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
23
+ Souls::Painter.create_file(file_path.to_s)
24
24
  end
25
25
  file_path
26
26
  end
@@ -37,7 +37,7 @@ module Souls
37
37
  end
38
38
  TEXT
39
39
  end
40
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
40
+ Souls::Painter.create_file(file_path.to_s)
41
41
  file_path
42
42
  end
43
43
 
@@ -56,7 +56,7 @@ module Souls
56
56
  end
57
57
  TEXT
58
58
  end
59
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
59
+ Souls::Painter.create_file(file_path.to_s)
60
60
  file_path
61
61
  end
62
62
 
@@ -69,7 +69,7 @@ module Souls
69
69
  File.open(file_path, "w") do |f|
70
70
  f.write(<<~TEXT)
71
71
  module Queries
72
- class #{class_name.camelize} < BaseQuery
72
+ class #{class_name.camelize} < Souls::Types::BaseObject
73
73
  description ""
74
74
  type Types::#{class_name.camelize}Type, null: false
75
75
 
@@ -95,7 +95,7 @@ module Souls
95
95
  end
96
96
  TEXT
97
97
  end
98
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
98
+ Souls::Painter.create_file(file_path.to_s)
99
99
  file_path
100
100
  end
101
101
 
@@ -114,7 +114,7 @@ module Souls
114
114
  end
115
115
  TEXT
116
116
  end
117
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
117
+ Souls::Painter.create_file(file_path.to_s)
118
118
  file_path
119
119
  end
120
120
  end
@@ -26,14 +26,13 @@ module Souls
26
26
  File.open(type_file_path, "w") do |f|
27
27
  f.write(<<~TEXT)
28
28
  module Types
29
- class #{singularized_class_name.camelize}Type < BaseObject
29
+ class #{singularized_class_name.camelize}Type < Souls::Types::BaseObject
30
30
  def self.field: (:response, String, null: true) -> untyped
31
31
  end
32
32
  end
33
33
  TEXT
34
34
  end
35
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
36
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [type_file_path.to_s, :white] }])
35
+ Souls::Painter.create_file(file_path.to_s)
37
36
  end
38
37
  file_path
39
38
  end