Sha256: 1bad857088b370894d22c187e60d9b490227ebc8d91600eba77c0beb393eee74

Contents?: true

Size: 895 Bytes

Versions: 2

Compression:

Stored size: 895 Bytes

Contents

module Types
  class MutationType < Types::BaseObject
    SoulsHelper.get_tables.each do |t|
      %w[create update delete destroy_delete].each do |a|
        field "#{a}_#{t.singularize.underscore}".to_sym,
              mutation: Object.const_get(
                "Mutations::Base::#{t.singularize.camelize}::#{a.camelize}#{t.singularize.camelize}"
              )
      end
    end

    managers =
      Dir["./app/graphql/mutations/managers/*_manager/*.rb"].map do |file|
        {
          class: file.match(%r{managers/(.+?)_manager})[1],
          name: file.match(%r{/([^/]+)/?$})[1].gsub(".rb", "")
        }
      end
    managers.each do |file|
      field file[:name].underscore.to_s.to_sym,
            mutation: Object.const_get(
              "Mutations::Managers::#{file[:class].singularize.camelize}Manager::#{file[:name].singularize.camelize}"
            )
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
souls-0.24.2 apps/api/app/graphql/types/base/mutation_type.rb
souls-0.24.1 apps/api/app/graphql/types/base/mutation_type.rb