Sha256: 719bad10dc8feb32316574a17a16e5b6ebcf9c4d6609d2b75f6839121e49f246

Contents?: true

Size: 1.82 KB

Versions: 37

Compression:

Stored size: 1.82 KB

Contents

module Souls
  class Delete < Thor
    desc "scaffold [CLASS_NAME]", "Delete Scaffold"
    method_option :rbs, type: :boolean, aliases: "--rbs", default: false, desc: "Deletes Only RBS Files"
    def scaffold(class_name)
      singularized_class_name = class_name.singularize
      if options[:rbs]
        run_rbs_scaffold(class_name: singularized_class_name)
      else
        run_scaffold(class_name: singularized_class_name)
      end
      true
    rescue Thor::Error => e
      raise(Thor::Error, e)
    end

    desc "scaffold_all", "Delete Scaffold All Tables from schema.rb"
    method_option :rbs, type: :boolean, aliases: "--rbs", default: false, desc: "Deletes Only RBS Files"
    def scaffold_all
      puts(Paint["Delete All Scaffold Files!\n", :cyan])
      Souls.get_tables.each do |table|
        if options[:rbs]
          Souls::Delete.new.invoke(:scaffold, [table.singularize], { rbs: options[:rbs] })
        else
          Souls::Delete.new.invoke(:scaffold, [table.singularize], {})
        end
      end
      true
    rescue Thor::Error => e
      raise(Thor::Error, e)
    end

    private

    def run_scaffold(class_name: "user")
      type(class_name)
      type_rbs(class_name)
      query(class_name)
      query_rbs(class_name)
      mutation(class_name)
      mutation_rbs(class_name)
      edge(class_name)
      edge_rbs(class_name)
      connection(class_name)
      connection_rbs(class_name)
      resolver(class_name)
      resolver_rbs(class_name)
      rspec_factory(class_name)
      rspec_mutation(class_name)
      rspec_query(class_name)
      rspec_resolver(class_name)
    end

    def run_rbs_scaffold(class_name: "user")
      type_rbs(class_name)
      query_rbs(class_name)
      mutation_rbs(class_name)
      edge_rbs(class_name)
      connection_rbs(class_name)
      resolver_rbs(class_name)
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
souls-1.8.3 lib/souls/cli/delete/application.rb
souls-1.8.2 lib/souls/cli/delete/application.rb
souls-1.8.1 lib/souls/cli/delete/application.rb
souls-1.8.0 lib/souls/cli/delete/application.rb
souls-1.7.38 lib/souls/cli/delete/application.rb
souls-1.7.37 lib/souls/cli/delete/application.rb
souls-1.7.36 lib/souls/cli/delete/application.rb
souls-1.7.34 lib/souls/cli/delete/application.rb
souls-1.7.33 lib/souls/cli/delete/application.rb
souls-1.7.32 lib/souls/cli/delete/application.rb
souls-1.7.31 lib/souls/cli/delete/application.rb
souls-1.7.30 lib/souls/cli/delete/application.rb
souls-1.7.29 lib/souls/cli/delete/application.rb
souls-1.7.28 lib/souls/cli/delete/application.rb
souls-1.7.27 lib/souls/cli/delete/application.rb
souls-1.7.26 lib/souls/cli/delete/application.rb
souls-1.7.25 lib/souls/cli/delete/application.rb
souls-1.7.24 lib/souls/cli/delete/application.rb
souls-1.7.21 lib/souls/cli/delete/application.rb
souls-1.7.20 lib/souls/cli/delete/application.rb