FEATURE: bronze/silver/gold badges for popular links

This commit is contained in:
Régis Hanol
2015-08-27 18:52:31 +02:00
parent 42e785ee5a
commit d96531b163
3 changed files with 46 additions and 3 deletions

View File

@ -140,7 +140,6 @@ Badge.seed do |b|
b.system = true
end
[
[Badge::Promoter,"Promoter",BadgeType::Bronze,1,0],
[Badge::Campaigner,"Campaigner",BadgeType::Silver,3,1],
@ -245,7 +244,6 @@ like_badges = [
{id: Badge::GreatTopic, name: "Great Topic", type: BadgeType::Gold, topic: true}
]
like_badges.each do |spec|
Badge.seed do |b|
b.id = spec[:id]
@ -273,6 +271,27 @@ Badge.seed do |b|
b.system = true
end
[
[Badge::PopularLink, "Popular Link", BadgeType::Bronze, 50],
[Badge::HotLink, "Hot Link", BadgeType::Silver, 300],
[Badge::FamousLink, "Famous Link", BadgeType::Gold, 1000],
].each do |spec|
id, name, level, count = spec
Badge.seed do |b|
b.id = id
b.default_name = name
b.badge_type_id = level
b.multiple_grant = true
b.target_posts = true
b.show_posts = true
b.query = Badge::Queries.linking_badge(count)
b.default_badge_grouping_id = BadgeGrouping::Community
# don't trigger for now, its too expensive
b.trigger = Badge::Trigger::None
b.system = true
end
end
Badge.where("NOT system AND id < 100").each do |badge|
new_id = [Badge.maximum(:id) + 1, 100].max
old_id = badge.id