class Tapioca::Dsl::Compilers::ActiveRecordRelations
def create_association_relation_methods
def create_association_relation_methods returning_type = "T.nilable(T.any(T::Array[Symbol], FalseClass))" unique_by_type = "T.nilable(T.any(T::Array[Symbol], Symbol))" ASSOCIATION_METHODS.each do |method_name| case method_name when :insert_all, :insert_all!, :upsert_all parameters = [ create_param("attributes", type: "T::Array[Hash]"), create_kw_opt_param("returning", type: returning_type, default: "nil"), ] # Bang methods don't have the `unique_by` parameter unless bang_method?(method_name) parameters << create_kw_opt_param("unique_by", type: unique_by_type, default: "nil") end association_relation_methods_module.create_method( method_name.to_s, parameters: parameters, return_type: "ActiveRecord::Result", ) when :insert, :insert!, :upsert parameters = [ create_param("attributes", type: "Hash"), create_kw_opt_param("returning", type: returning_type, default: "nil"), ] # Bang methods don't have the `unique_by` parameter unless bang_method?(method_name) parameters << create_kw_opt_param("unique_by", type: unique_by_type, default: "nil") end association_relation_methods_module.create_method( method_name.to_s, parameters: parameters, return_type: "ActiveRecord::Result", ) when :proxy_association # skip - private method end end end