lib/graphql/sugar/define/relationship.rb in graphql-sugar-0.1.3 vs lib/graphql/sugar/define/relationship.rb in graphql-sugar-0.1.4
- old
+ new
@@ -8,11 +8,12 @@
association = model_class.reflect_on_association(association_name)
if association.association_class == ActiveRecord::Associations::BelongsToAssociation
define_belongs_to(type_defn, field_name, model_class, association_name, association)
elsif association.association_class == ActiveRecord::Associations::HasOneAssociation ||
- association.association_class == ActiveRecord::Associations::HasManyAssociation
+ association.association_class == ActiveRecord::Associations::HasManyAssociation ||
+ association.association_class == ActiveRecord::Associations::HasManyThroughAssociation
define_has_one_or_many(type_defn, field_name, model_class, association_name, association)
end
end
def self.define_belongs_to(type_defn, field_name, model_class, association_name, association)
@@ -38,10 +39,11 @@
def self.define_has_one_or_many(type_defn, field_name, _model_class, association_name, association)
kwargs = {}
kwargs[:type] = "Types::#{association.klass}Type".constantize
- if association.association_class == ActiveRecord::Associations::HasManyAssociation
+ if association.association_class == ActiveRecord::Associations::HasManyAssociation ||
+ association.association_class == ActiveRecord::Associations::HasManyThroughAssociation
kwargs[:type] = kwargs[:type].to_non_null_type.to_list_type
end
begin
function_class = Sugar.get_resolver_function(field_name)