42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/reputation_system/base.rb', line 42
def has_reputation(reputation_name, options)
has_valid_input = reputation_name && options[:source]
raise ArgumentError, "has_reputation method received invalid arguments." unless has_valid_input
ReputationSystem::Network.remove_reputation_def(name, reputation_name) if has_reputation_for?(reputation_name)
unless ancestors.include?(ReputationSystem::ReputationMethods)
has_many :reputations, :as => :target, :class_name => "ReputationSystem::Reputation", :dependent => :destroy do
def for(reputation_name)
self.where(:reputation_name => reputation_name)
end
end
has_many :evaluations, :as => :target, :class_name => "ReputationSystem::Evaluation", :dependent => :destroy do
def for(reputation_name)
self.where(:reputation_name => reputation_name)
end
end
include ReputationSystem::QueryBuilder
include ReputationSystem::QueryMethods
include ReputationSystem::FinderMethods
include ReputationSystem::ReputationMethods
include ReputationSystem::ScopeMethods
end
ReputationSystem::Network.add_reputation_def(name, reputation_name, options)
include ReputationSystem::EvaluationMethods if ReputationSystem::Network.is_primary_reputation?(name, reputation_name) && !ancestors.include?(ReputationSystem::EvaluationMethods)
end
|