Module: SeemsRateable::Model::ClassMethods

Defined in:
lib/seems_rateable/model.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.can_update?Boolean

Returns:

  • (Boolean)


77
78
79
# File 'lib/seems_rateable/model.rb', line 77

def self.can_update?
  self.class_variable_get(:@@permission)
end

.rateable?Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/seems_rateable/model.rb', line 81

def self.rateable?
  true
end

Instance Method Details

#seems_rateable(opts = {}) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/seems_rateable/model.rb', line 70

def seems_rateable(opts={})
  has_many :rates_all, :as => :rateable, :class_name => SeemsRateable::Rate, :dependent => :destroy
  has_many :raters_all, :through => :rates_all, :class_name => SeemsRateable::Engine.config.owner_class, :source => :rater
  has_many :rate_averages, :as => :cacheable, :class_name => SeemsRateable::CachedRating, :dependent => :destroy

  self.class_variable_set(:@@permission, opts[:allow_update] ? true : false)

  def self.can_update?
    self.class_variable_get(:@@permission)
  end

  def self.rateable?
    true
  end
end

#seems_rateable_raterObject



86
87
88
# File 'lib/seems_rateable/model.rb', line 86

def seems_rateable_rater
  has_many :ratings_given, :class_name => SeemsRateable::Rate, :foreign_key => :rater_id
end