Commit a3529df791e8c54a192b93569165a69fba1d8630

Authored by Victor Costa
1 parent c36a0459

Improve script

Showing 2 changed files with 27 additions and 6 deletions   Show diff stats
lib/merit_ext.rb
@@ -54,6 +54,7 @@ module Merit @@ -54,6 +54,7 @@ module Merit
54 :target_data => self.to_yaml 54 :target_data => self.to_yaml
55 }) 55 })
56 action.check_all_rules 56 action.check_all_rules
  57 + action
57 end 58 end
58 59
59 end 60 end
script/process_merit_rules.rb
1 -def create_action(obj) 1 +def create_action(obj, index, count)
2 target_model = obj.class.base_class.name.downcase 2 target_model = obj.class.base_class.name.downcase
3 action = Merit::Action.find_by_target_id_and_target_model_and_action_method(obj.id, target_model, 'create') 3 action = Merit::Action.find_by_target_id_and_target_model_and_action_method(obj.id, target_model, 'create')
4 if action.nil? 4 if action.nil?
5 - puts "Create merit action for #{target_model} #{obj.id}" 5 + puts "#{index}/#{count} Create merit action for #{target_model} #{obj.id}"
6 obj.new_merit_action(:create) 6 obj.new_merit_action(:create)
7 end 7 end
8 end 8 end
9 9
  10 +puts "Destroy all merit actions"
  11 +Merit::Action.destroy_all
  12 +
  13 +count = Person.count
  14 +Person.all.each.with_index(1) do |person, i|
  15 + puts "#{i}/#{count} Remove sash from #{person.identifier}"
  16 + person.sash.destroy unless person.sash.nil?
  17 +end
  18 +
10 Environment.all.each do |environment| 19 Environment.all.each do |environment|
11 20
12 Merit::AppPointRules.clear 21 Merit::AppPointRules.clear
@@ -14,11 +23,22 @@ Environment.all.each do |environment| @@ -14,11 +23,22 @@ Environment.all.each do |environment|
14 Merit::AppPointRules.merge!(Merit::PointRules.new(environment).defined_rules) 23 Merit::AppPointRules.merge!(Merit::PointRules.new(environment).defined_rules)
15 Merit::AppBadgeRules.merge!(Merit::BadgeRules.new(environment).defined_rules) 24 Merit::AppBadgeRules.merge!(Merit::BadgeRules.new(environment).defined_rules)
16 25
17 - environment.articles.each do |article|  
18 - create_action(article) 26 + article_count = environment.articles.count
  27 + article_index = 0
  28 + environment.articles.find_each do |article|
  29 + article_index += 1
  30 + create_action(article, article_index, article_count)
  31 +
  32 + comment_count = article.comments.count
  33 + article.comments.each.with_index(1) do |comment, i|
  34 + create_action(comment, i, comment_count)
  35 + end
  36 + end
19 37
20 - article.comments.each do |comment|  
21 - create_action(comment) 38 + environment.people.each.with_index(1) do |person, person_index|
  39 + vote_count = person.votes.count
  40 + person.votes.each.with_index(1) do |vote, vote_index|
  41 + create_action(vote, vote_index, vote_count)
22 end 42 end
23 end 43 end
24 44