Skip to content

Instantly share code, notes, and snippets.

@HamptonMakes
Last active August 29, 2015 14:17
Show Gist options
  • Save HamptonMakes/a649517db71f930d1925 to your computer and use it in GitHub Desktop.
Save HamptonMakes/a649517db71f930d1925 to your computer and use it in GitHub Desktop.
Vote's trust:
def calculate_trust_points
if !proposal.open?
if voted_with_majority?
self.trust_points = 1
else
self.trust_points = -3
end
else
self.trust_points = 0
end
end
User's trust:
trust = 25
trust += self.votes.sum(:trust_points)
trust += self.proposals.accepted.count * 10
trust += self.proposals.rejected.count * -20
trust += self.proposals.flagged.count * -75
self.trust_points = trust
LEVELS = {
banned: {
name: "Banned",
vote_value: 0,
min_trust: -10_000,
},
fresh_face: {
name: "Fresh Face",
vote_value: 1,
min_trust: -200,
initial: true
},
junior_contributor: {
name: "Junior Contributor",
vote_value: 5,
min_trust: 50
},
contributor: {
name: "Contributor",
vote_value: 10,
min_trust: 150
},
senior_contributor: {
name: "Senior Contributor",
vote_value: 15,
min_trust: 250
},
junior_member: {
name: "Junior Member",
vote_value: 20,
min_trust: 500,
},
member: {
name: "Member",
vote_value: 25,
min_trust: 1_000,
},
senior_member: {
name: "Senior Member",
vote_value: 30,
min_trust: 10_000,
},
junior_editor: {
name: "Junior Editor",
vote_value: 40,
min_trust: 25_000
},
editor: {
name: "Editor",
vote_value: 45,
min_trust: 50_000
},
senior_editor: {
name: "Senior Editor",
vote_value: 55,
min_trust: 100_000
},
staff_editor: {
name: "Staff Editor",
vote_value: 60,
min_trust: 1_000_000
},
admin: {
name: "Admin",
vote_value: 50,
min_trust: nil
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment