DEV: Use method instead of constant for discobot badge names

This change refactors the code a bit so that a plugin could easily
replace which badge is awarded when completing the discobot new user
tutorial and advanced tutorial.

By adding a static method and putting the BADGE_NAME constant inside of
that method we can simply call that method now instead of the constant.
A plugin could then `class_eval` that method and replace it with
whatever badge name they choose. This is way cleaner than having the
plugin change the frozen constant! eeek.
This commit is contained in:
Blake Erickson
2020-04-09 20:46:51 -06:00
parent 3cac60f07c
commit 80a80ef2bd
8 changed files with 16 additions and 8 deletions

View File

@ -74,7 +74,7 @@ module DiscourseNarrativeBot
cancel_timeout_job(user)
BadgeGranter.grant(
Badge.find_by(name: self.class::BADGE_NAME),
Badge.find_by(name: self.class.badge_name),
user
)