class Badginator
Constants
- ALREADY_WON
- DID_NOT_WIN
- ERROR
- VERSION
- WON
Public Class Methods
Status(status_code, badge = nil)
click to toggle source
# File lib/badginator.rb, line 51 def self.Status(status_code, badge = nil) case status_code when DID_NOT_WIN, WON, ALREADY_WON, ERROR Badginator::Status.new code: status_code, badge: badge else rails TypeError, "Cannot convert #{status_code} to Status" end end
badges()
click to toggle source
# File lib/badginator.rb, line 27 def self.badges self.instance.badges end
define_badge(*args, &block)
click to toggle source
# File lib/badginator.rb, line 43 def self.define_badge(*args, &block) self.instance.define_badge(*args, &block) end
get_badge(badge_code)
click to toggle source
# File lib/badginator.rb, line 47 def self.get_badge(badge_code) self.instance.get_badge(badge_code) end
new()
click to toggle source
# File lib/badginator.rb, line 15 def initialize @badges = {} end
Public Instance Methods
badges()
click to toggle source
# File lib/badginator.rb, line 23 def badges @badges.values.select { |badge| ! badge.disabled } end
define_badge(*args, &block)
click to toggle source
# File lib/badginator.rb, line 31 def define_badge(*args, &block) badge = Badge.new badge.build_badge &block badge.freeze if @badges.key?(badge.code) raise "badge code '#{badge.code}' already defined." end @badges[badge.code] = badge end
get_badge(badge_code)
click to toggle source
# File lib/badginator.rb, line 19 def get_badge(badge_code) @badges.fetch(badge_code) end