Module: SeemsRateable::Models::ActiveRecordExtension
- Defined in:
- lib/seems_rateable.rb,
lib/seems_rateable/models/active_record_extension.rb,
lib/seems_rateable/models/active_record_extension/rater.rb,
lib/seems_rateable/models/active_record_extension/rateable.rb
Defined Under Namespace
Instance Method Summary collapse
Instance Method Details
#seems_rateable(*dimensions) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/seems_rateable/models/active_record_extension.rb', line 4 def seems_rateable(*dimensions) has_many :_rates, -> { where dimension: nil }, as: :rateable, class_name: SeemsRateable::Rate, dependent: :destroy has_many :_raters, through: :_rates, source: :rater, dependent: :destroy dimensions.each do |dimension| has_many :"#{dimension}_rates", -> { where dimension: dimension }, as: :rateable, class_name: SeemsRateable::Rate, dependent: :destroy has_many :"#{dimension}_raters", through: :"#{dimension}_rates", source: :rater, dependent: :destroy end include Rateable end |
#seems_rateable_rater ⇒ Object
16 17 18 19 20 |
# File 'lib/seems_rateable/models/active_record_extension.rb', line 16 def seems_rateable_rater has_many :rates_given, class_name: SeemsRateable::Rate, foreign_key: :rater_id include Rater end |