Sha256: 7d3fabcccbb8bff12a0067075a33c45b741aa63fa837307aac80eb6f7250f085

Contents?: true

Size: 624 Bytes

Versions: 6

Compression:

Stored size: 624 Bytes

Contents

module GraphQL
  module Sugar
    module Define
      module Relationships
        def self.call(type_defn, *field_names)
          model_class = Sugar.get_model_class(type_defn)

          if field_names.count == 0
            [:belongs_to, :has_one, :has_many].each do |macro|
              model_class.reflect_on_all_associations(macro).each do |association|
                field_names << association.name
              end
            end
          end

          field_names.each do |field_name|
            Sugar::Define::Relationship.call(type_defn, field_name)
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
graphql-sugar-0.1.6 lib/graphql/sugar/define/relationships.rb
graphql-sugar-0.1.5 lib/graphql/sugar/define/relationships.rb
graphql-sugar-0.1.4 lib/graphql/sugar/define/relationships.rb
graphql-sugar-0.1.3 lib/graphql/sugar/define/relationships.rb
graphql-sugar-0.1.2 lib/graphql/sugar/define/relationships.rb
graphql-sugar-0.1.1 lib/graphql/sugar/define/relationships.rb