souls 0.51.2 → 0.52.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -1
  3. data/exe/souls +4 -202
  4. data/lib/souls/api/generate/application.rb +97 -94
  5. data/lib/souls/api/generate/connection.rb +5 -4
  6. data/lib/souls/api/generate/edge.rb +5 -4
  7. data/lib/souls/api/generate/index.rb +0 -1
  8. data/lib/souls/api/generate/manager.rb +9 -7
  9. data/lib/souls/api/generate/model.rb +16 -18
  10. data/lib/souls/api/generate/mutation.rb +217 -218
  11. data/lib/souls/api/generate/policy.rb +5 -5
  12. data/lib/souls/api/generate/query.rb +51 -51
  13. data/lib/souls/api/generate/resolver.rb +115 -115
  14. data/lib/souls/api/generate/rspec_factory.rb +53 -53
  15. data/lib/souls/api/generate/rspec_model.rb +5 -5
  16. data/lib/souls/api/generate/rspec_mutation.rb +178 -178
  17. data/lib/souls/api/generate/rspec_policy.rb +5 -5
  18. data/lib/souls/api/generate/rspec_query.rb +111 -111
  19. data/lib/souls/api/generate/rspec_resolver.rb +163 -163
  20. data/lib/souls/api/generate/type.rb +66 -66
  21. data/lib/souls/api/index.rb +7 -4
  22. data/lib/souls/api/update/index.rb +15 -0
  23. data/lib/souls/api/update/mutation.rb +68 -64
  24. data/lib/souls/api/update/resolver.rb +59 -60
  25. data/lib/souls/api/update/rspec_factory.rb +40 -39
  26. data/lib/souls/api/update/rspec_mutation.rb +84 -83
  27. data/lib/souls/api/update/rspec_resolver.rb +70 -69
  28. data/lib/souls/api/update/type.rb +39 -38
  29. data/lib/souls/cli/console/index.rb +13 -1
  30. data/lib/souls/cli/create/index.rb +97 -93
  31. data/lib/souls/cli/db/index.rb +122 -1
  32. data/lib/souls/cli/docker/index.rb +30 -38
  33. data/lib/souls/cli/gcloud/compute/index.rb +100 -98
  34. data/lib/souls/cli/gcloud/iam/index.rb +84 -69
  35. data/lib/souls/cli/gcloud/index.rb +36 -35
  36. data/lib/souls/cli/gcloud/pubsub/subscriptions.rb +40 -27
  37. data/lib/souls/cli/gcloud/pubsub/topics.rb +16 -10
  38. data/lib/souls/cli/gcloud/run/index.rb +23 -17
  39. data/lib/souls/cli/gcloud/sql/index.rb +66 -47
  40. data/lib/souls/cli/index.rb +3 -20
  41. data/lib/souls/cli/init/index.rb +140 -140
  42. data/lib/souls/cli/release/release.rb +106 -105
  43. data/lib/souls/cli/server/index.rb +12 -1
  44. data/lib/souls/cli/sync/conf.rb +39 -38
  45. data/lib/souls/cli/sync/model.rb +19 -20
  46. data/lib/souls/cli/sync/pubsub.rb +69 -70
  47. data/lib/souls/cli/upgrade/gemfile.rb +108 -0
  48. data/lib/souls/cli/upgrade/index.rb +1 -1
  49. data/lib/souls/cli.rb +57 -0
  50. data/lib/souls/index.rb +1 -5
  51. data/lib/souls/version.rb +1 -1
  52. data/lib/souls/versions/.souls_api_version +1 -1
  53. data/lib/souls/versions/.souls_worker_version +1 -1
  54. data/lib/souls/worker/generate/index.rb +1 -1
  55. data/lib/souls/worker/generate/job.rb +45 -0
  56. data/lib/souls/worker/generate/mailer.rb +38 -43
  57. data/lib/souls/worker/index.rb +3 -1
  58. data/lib/souls.rb +2 -0
  59. metadata +19 -5
  60. data/lib/souls/api/generate/migration.rb +0 -51
  61. data/lib/souls/cli/upgrade/gem_update.rb +0 -107
  62. data/lib/souls/worker/generate/mutation.rb +0 -44
@@ -1,51 +0,0 @@
1
- module Souls
2
- module Api
3
- module Generate
4
- class << self
5
- def create_migration(class_name: "user")
6
- pluralized_class_name = class_name.underscore.pluralize
7
- system("rake db:create_migration NAME=create_#{pluralized_class_name}")
8
- file_path = Dir["db/migrate/*create_#{pluralized_class_name}.rb"].first
9
- File.open(file_path, "w") do |f|
10
- f.write(<<~TEXT)
11
- class Create#{pluralized_class_name.camelize} < ActiveRecord::Migration[6.1]
12
- def change
13
- create_table :#{pluralized_class_name} do |t|
14
-
15
- t.boolean :is_deleted, null: false, default: false
16
- t.timestamps
17
- end
18
- end
19
- end
20
- TEXT
21
- end
22
- end
23
-
24
- def add_column(class_name: "user")
25
- pluralized_class_name = class_name.underscore.pluralize
26
- system("rake db:create_migration NAME=add_column_to_#{pluralized_class_name}")
27
- end
28
-
29
- def rename_column(class_name: "user")
30
- pluralized_class_name = class_name.underscore.pluralize
31
- system("rake db:create_migration NAME=rename_column_to_#{pluralized_class_name}")
32
- end
33
-
34
- def change_column(class_name: "user")
35
- pluralized_class_name = class_name.underscore.pluralize
36
- system("rake db:create_migration NAME=change_column_to_#{pluralized_class_name}")
37
- end
38
-
39
- def remove_column(class_name: "user")
40
- pluralized_class_name = class_name.underscore.pluralize
41
- system("rake db:create_migration NAME=remove_column_to_#{pluralized_class_name}")
42
- end
43
-
44
- def drop_table(class_name: "user")
45
- pluralized_class_name = class_name.underscore.pluralize
46
- system("rake db:create_migration NAME=drop_table_to_#{pluralized_class_name}")
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,107 +0,0 @@
1
- module Souls
2
- module Upgrade
3
- class << self
4
- def gemfile_latest_version
5
- file_path = "./Gemfile"
6
- updated_gems = []
7
- updated_gem_versions = []
8
- updated_lines = []
9
- from_dev = false
10
- File.open(file_path, "r") do |f|
11
- f.each_line do |line|
12
- from_dev = true if line.include?("group")
13
- next unless line.include?("gem ")
14
-
15
- gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
16
- url = URI("https://rubygems.org/api/v1/versions/#{gem[0]}/latest.json")
17
- res = Net::HTTP.get_response(url)
18
- data = JSON.parse(res.body)
19
- next if Souls.configuration.fixed_gems.include?(gem[0].to_s)
20
- next if data["version"].to_s == gem[1].to_s
21
-
22
- updated_lines << if from_dev
23
- " gem \"#{gem[0]}\", \"#{data['version']}\""
24
- else
25
- "gem \"#{gem[0]}\", \"#{data['version']}\""
26
- end
27
- updated_gems << (gem[0]).to_s
28
- updated_gem_versions << data["version"]
29
- system("gem update #{gem[0]}")
30
- end
31
- end
32
- {
33
- gems: updated_gems,
34
- lines: updated_lines,
35
- updated_gem_versions: updated_gem_versions
36
- }
37
- end
38
-
39
- def update_gemfile
40
- file_path = "./Gemfile"
41
- tmp_file = "./tmp/Gemfile"
42
- new_gems = gemfile_latest_version
43
- logs = []
44
- message = Paint["\nAlready Up to date!", :green]
45
- return "Already Up to date!" && puts(message) if new_gems[:gems].blank?
46
-
47
- @i = 0
48
- File.open(file_path, "r") do |f|
49
- File.open(tmp_file, "w") do |new_line|
50
- f.each_line do |line|
51
- gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
52
- if new_gems[:gems].include?(gem[0])
53
- old_ver = gem[1].split(".")
54
- new_ver = new_gems[:updated_gem_versions][@i].split(".")
55
- if old_ver[0] < new_ver[0]
56
- logs << Paint % [
57
- "#{gem[0]} v#{gem[1]} → %{red_text}",
58
- :white,
59
- {
60
- red_text: ["v#{new_gems[:updated_gem_versions][@i]}", :red]
61
- }
62
- ]
63
- elsif old_ver[1] < new_ver[1]
64
- logs << Paint % [
65
- "#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.%{yellow_text}",
66
- :white,
67
- {
68
- yellow_text: ["#{new_ver[1]}.#{new_ver[2]}", :yellow]
69
- }
70
- ]
71
- elsif old_ver[2] < new_ver[2]
72
- logs << Paint % [
73
- "#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.#{new_ver[1]}.%{green_text}",
74
- :white,
75
- {
76
- green_text: [(new_ver[2]).to_s, :green]
77
- }
78
- ]
79
- end
80
- if gem[0] == "souls"
81
- logs << Paint % [
82
- "\nSOULs Doc: %{cyan_text}",
83
- :white,
84
- { cyan_text: ["https://souls.elsoul.nl\n", :cyan] }
85
- ]
86
- end
87
- new_line.write("#{new_gems[:lines][@i]}\n")
88
- @i += 1
89
- else
90
- new_line.write(line)
91
- end
92
- end
93
- end
94
- end
95
- FileUtils.rm("./Gemfile")
96
- FileUtils.rm("./Gemfile.lock")
97
- FileUtils.mv("./tmp/Gemfile", "./Gemfile")
98
- system("bundle update")
99
- success = Paint["\n\nSuccessfully Updated These Gems!\n", :green]
100
- puts(success)
101
- logs.each do |line|
102
- puts(line)
103
- end
104
- end
105
- end
106
- end
107
- end
@@ -1,44 +0,0 @@
1
- module Souls
2
- module Worker
3
- module Generate
4
- class << self
5
- def mutation(class_name: "send-mailer", option: "")
6
- case option
7
- when "--mailer"
8
- mailer(class_name: class_name)
9
- else
10
- create_mutation(class_name: class_name)
11
- end
12
- end
13
-
14
- def create_mutation(class_name: "send-mailer")
15
- file_dir = "./app/graphql/mutations/"
16
- FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
17
- file_path = "#{file_dir}#{class_name.singularize}.rb"
18
- raise(StandardError, "Mutation already exist! #{file_path}") if File.exist?(file_path)
19
-
20
- File.open(file_path, "w") do |f|
21
- f.write(<<~TEXT)
22
- module Mutations
23
- class #{class_name.camelize} < BaseMutation
24
- description "Job Description"
25
- field :response, String, null: false
26
-
27
- def resolve
28
- # Define Job Here
29
-
30
- { response: "Job done!" }
31
- rescue StandardError => e
32
- GraphQL::ExecutionError.new(e.to_s)
33
- end
34
- end
35
- end
36
- TEXT
37
- end
38
- puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
39
- file_path
40
- end
41
- end
42
- end
43
- end
44
- end