Vous ne spécifiez pas tout à fait ce que la classe est pour. Si c'est un modèle, placez-le dans le dossier des modèles. N'oubliez pas qu'un modèle n'a pas besoin d'être sauvegardé par une base de données. Si vous avez une classe qui représente quelque chose et qui a une logique métier, c'est un modèle.
# models/report.rb
class Report
def self.attendance_for(course)
Enrollment.find :all, :include => [:sections], :conditions => ["sections.course_id = ?", course.id])
end
....
end
Le dossier lib est également approprié, mais selon la façon dont vous nommez le fichier et la définition de classe, vous devrez peut encore l'exiger des environment.rb ou ailleurs.
Une autre approche consiste à utiliser un plugin ou un gem pour distribuer votre code.
Donc, vous voulez utiliser cette classe, dans votre application rails ?? –