souls 0.51.2 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/README.md +4 -1
 - data/exe/souls +4 -202
 - data/lib/souls/api/generate/application.rb +97 -94
 - data/lib/souls/api/generate/connection.rb +5 -4
 - data/lib/souls/api/generate/edge.rb +5 -4
 - data/lib/souls/api/generate/index.rb +0 -1
 - data/lib/souls/api/generate/manager.rb +9 -7
 - data/lib/souls/api/generate/model.rb +16 -18
 - data/lib/souls/api/generate/mutation.rb +217 -218
 - data/lib/souls/api/generate/policy.rb +5 -5
 - data/lib/souls/api/generate/query.rb +51 -51
 - data/lib/souls/api/generate/resolver.rb +115 -115
 - data/lib/souls/api/generate/rspec_factory.rb +53 -53
 - data/lib/souls/api/generate/rspec_model.rb +5 -5
 - data/lib/souls/api/generate/rspec_mutation.rb +178 -178
 - data/lib/souls/api/generate/rspec_policy.rb +5 -5
 - data/lib/souls/api/generate/rspec_query.rb +111 -111
 - data/lib/souls/api/generate/rspec_resolver.rb +163 -163
 - data/lib/souls/api/generate/type.rb +66 -66
 - data/lib/souls/api/index.rb +7 -4
 - data/lib/souls/api/update/index.rb +15 -0
 - data/lib/souls/api/update/mutation.rb +68 -64
 - data/lib/souls/api/update/resolver.rb +59 -60
 - data/lib/souls/api/update/rspec_factory.rb +40 -39
 - data/lib/souls/api/update/rspec_mutation.rb +84 -83
 - data/lib/souls/api/update/rspec_resolver.rb +70 -69
 - data/lib/souls/api/update/type.rb +39 -38
 - data/lib/souls/cli/console/index.rb +13 -1
 - data/lib/souls/cli/create/index.rb +97 -93
 - data/lib/souls/cli/db/index.rb +122 -1
 - data/lib/souls/cli/docker/index.rb +30 -38
 - data/lib/souls/cli/gcloud/compute/index.rb +100 -98
 - data/lib/souls/cli/gcloud/iam/index.rb +84 -69
 - data/lib/souls/cli/gcloud/index.rb +36 -35
 - data/lib/souls/cli/gcloud/pubsub/subscriptions.rb +40 -27
 - data/lib/souls/cli/gcloud/pubsub/topics.rb +16 -10
 - data/lib/souls/cli/gcloud/run/index.rb +23 -17
 - data/lib/souls/cli/gcloud/sql/index.rb +66 -47
 - data/lib/souls/cli/index.rb +3 -20
 - data/lib/souls/cli/init/index.rb +140 -140
 - data/lib/souls/cli/release/release.rb +106 -105
 - data/lib/souls/cli/server/index.rb +12 -1
 - data/lib/souls/cli/sync/conf.rb +39 -38
 - data/lib/souls/cli/sync/model.rb +19 -20
 - data/lib/souls/cli/sync/pubsub.rb +69 -70
 - data/lib/souls/cli/upgrade/gemfile.rb +108 -0
 - data/lib/souls/cli/upgrade/index.rb +1 -1
 - data/lib/souls/cli.rb +57 -0
 - data/lib/souls/index.rb +1 -5
 - data/lib/souls/version.rb +1 -1
 - data/lib/souls/versions/.souls_api_version +1 -1
 - data/lib/souls/versions/.souls_worker_version +1 -1
 - data/lib/souls/worker/generate/index.rb +1 -1
 - data/lib/souls/worker/generate/job.rb +45 -0
 - data/lib/souls/worker/generate/mailer.rb +38 -43
 - data/lib/souls/worker/index.rb +3 -1
 - data/lib/souls.rb +2 -0
 - metadata +19 -5
 - data/lib/souls/api/generate/migration.rb +0 -51
 - data/lib/souls/cli/upgrade/gem_update.rb +0 -107
 - 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
         
     |