Commit 564beb33f68e00f9a8fc36021b77f6c4bc6eccbe
1 parent
0ee65a55
Exists in
master
and in
1 other branch
Improve point rules types and categorization setup
Showing
2 changed files
with
9 additions
and
6 deletions
Show diff stats
lib/gamification_plugin.rb
@@ -24,12 +24,6 @@ class GamificationPlugin < Noosfero::Plugin | @@ -24,12 +24,6 @@ class GamificationPlugin < Noosfero::Plugin | ||
24 | Merit::AppBadgeRules.clear | 24 | Merit::AppBadgeRules.clear |
25 | Merit::AppPointRules.merge!(Merit::PointRules.new(environment).defined_rules) | 25 | Merit::AppPointRules.merge!(Merit::PointRules.new(environment).defined_rules) |
26 | Merit::AppBadgeRules.merge!(Merit::BadgeRules.new(environment).defined_rules) | 26 | Merit::AppBadgeRules.merge!(Merit::BadgeRules.new(environment).defined_rules) |
27 | - #FIXME We have to make a refactor of this code to avoid database data dependendy | ||
28 | - Merit::PointRules::AVAILABLE_RULES.map do |rule_name, rule| | ||
29 | - point_type = GamificationPlugin::PointsType.find_by_name rule_name | ||
30 | - point_type = GamificationPlugin::PointsType.create name: rule_name, description: rule['description'] if point_type.nil? | ||
31 | - GamificationPlugin::PointsCategorization.create point_type_id: point_type.id, weight: rule[:default_weight] | ||
32 | - end | ||
33 | end | 27 | end |
34 | 28 | ||
35 | def application_controller_filters | 29 | def application_controller_filters |
@@ -75,6 +69,7 @@ class GamificationPlugin < Noosfero::Plugin | @@ -75,6 +69,7 @@ class GamificationPlugin < Noosfero::Plugin | ||
75 | config.current_user_method = 'current_person' | 69 | config.current_user_method = 'current_person' |
76 | config.add_observer 'Merit::PointTrackObserver' | 70 | config.add_observer 'Merit::PointTrackObserver' |
77 | config.add_observer 'Merit::RankObserver' | 71 | config.add_observer 'Merit::RankObserver' |
72 | + Merit::PointRules.setup | ||
78 | end | 73 | end |
79 | 74 | ||
80 | require_dependency 'merit_ext' | 75 | require_dependency 'merit_ext' |
lib/merit/point_rules.rb
@@ -147,6 +147,14 @@ module Merit | @@ -147,6 +147,14 @@ module Merit | ||
147 | end | 147 | end |
148 | end | 148 | end |
149 | 149 | ||
150 | + def self.setup | ||
151 | + AVAILABLE_RULES.map do |rule_name, rule| | ||
152 | + point_type = GamificationPlugin::PointsType.find_by_name rule_name | ||
153 | + point_type = GamificationPlugin::PointsType.create name: rule_name, description: rule['description'] if point_type.nil? | ||
154 | + GamificationPlugin::PointsCategorization.create point_type_id: point_type.id, weight: rule[:default_weight] | ||
155 | + end | ||
156 | + end | ||
157 | + | ||
150 | def initialize(environment=nil) | 158 | def initialize(environment=nil) |
151 | return if environment.nil? | 159 | return if environment.nil? |
152 | @environment = environment | 160 | @environment = environment |