Sha256: d087b6b54ee62e1788e3a97ac4b7e0fac3254a5183bb2114de7a868409e02a95

Contents?: true

Size: 1021 Bytes

Versions: 49

Compression:

Stored size: 1021 Bytes

Contents

module Souls
  module Api::Generate
    def self.manager(class_name: "souls")
      singularized_class_name = class_name.underscore.singularize
      file_dir = "./app/graphql/mutations/managers/#{singularized_class_name}_manager"
      FileUtils.mkdir_p(file_dir) unless Dir.exist?(file_dir)
      file_path = "#{file_dir}/#{singularized_class_name}.rb"
      File.open(file_path, "w") do |f|
        f.write(<<~TEXT)
          class Types::#{singularized_class_name.camelize}Edge < module Mutations
            module Mailers
              class #{singularized_class_name.camelize}Mailer < BaseMutation
                description "Mail を送信します。"
                field :response, String, null: false

            node_type(Types::#{singularized_class_name.camelize}Type)
          end
        TEXT
      end
      puts(Paint % ["Created file! : %{white_text}", :green, { white_text: [file_path.to_s, :white] }])
      file_path
    rescue StandardError => e
      raise(StandardError, e)
    end
  end
end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
souls-0.33.7 lib/souls/api/generate/manager.rb
souls-0.33.6 lib/souls/api/generate/manager.rb
souls-0.33.5 lib/souls/api/generate/manager.rb
souls-0.33.4 lib/souls/api/generate/manager.rb
souls-0.33.3 lib/souls/api/generate/manager.rb
souls-0.33.2 lib/souls/api/generate/manager.rb
souls-0.33.1 lib/souls/api/generate/manager.rb
souls-0.33.0 lib/souls/api/generate/manager.rb
souls-0.32.18 lib/souls/api/generate/manager.rb
souls-0.32.17 lib/souls/api/generate/manager.rb
souls-0.32.16 lib/souls/api/generate/manager.rb
souls-0.32.15 lib/souls/api/generate/manager.rb
souls-0.32.14 lib/souls/api/generate/manager.rb
souls-0.32.13 lib/souls/api/generate/manager.rb
souls-0.32.12 lib/souls/api/generate/manager.rb
souls-0.32.11 lib/souls/api/generate/manager.rb
souls-0.32.10 lib/souls/api/generate/manager.rb
souls-0.32.9 lib/souls/api/generate/manager.rb
souls-0.32.8 lib/souls/api/generate/manager.rb
souls-0.32.7 lib/souls/api/generate/manager.rb