canvas-lms/app/models/trophy.rb

179 lines
5.2 KiB
Ruby

# frozen_string_literal: true
#
# Copyright (C) 2020 - present Instructure, Inc.
#
# This file is part of Canvas.
#
# Canvas is free software: you can redistribute it and/or modify it under
# the terms of the GNU Affero General Public License as published by the Free
# Software Foundation, version 3 of the License.
#
# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
#
class Trophy < ActiveRecord::Base
TROPHY_NAMES = [
'balloon',
'bifrost_trophy',
'butterfly',
'einstein_rosen_trophy',
'fire',
'flowers',
'four_leaf_clover',
'gift',
'gnome',
'helix_rocket',
'horse_shoe',
'hot_air_balloon',
'magic_mystery_thumbs_up',
'medal',
'moon',
'ninja',
'panama_rocket',
'panda',
'panda_unicycle',
'pinwheel',
'pizza_slice',
'rocket',
'star',
'thumbs_up',
'trophy'
].freeze
belongs_to :user, inverse_of: :trophies
def display_name
case name
when 'balloon'
t(:balloon_display_name, 'Balloon')
when 'bifrost_trophy'
t(:bifrost_trophy_display_name, 'Bifrost Trophy')
when 'butterfly'
t(:butterfly_display_name, 'Butterfly')
when 'einstein_rosen_trophy'
t(:einstein_rosen_trophy_display_name, 'Einstein Rosen Trophy')
when 'fire'
t(:fire_display_name, 'Fire')
when 'flowers'
t(:flowers_display_name, 'Flower')
when 'four_leaf_clover'
t(:four_leaf_clover_display_name, 'Four Leaf Clover')
when 'gift'
t(:gift_display_name, 'Gift')
when 'gnome'
t(:gnome_display_name, 'Gnome')
when 'helix_rocket'
t(:helix_rocket_display_name, 'Helix Rocket')
when 'horse_shoe'
t(:horse_shoe_display_name, 'Horse Shoe')
when 'hot_air_balloon'
t(:hot_air_balloon_display_name, 'Hot Air Balloon')
when 'magic_mystery_thumbs_up'
t(:magic_mystery_thumbs_up_display_name, 'Magic Mystery Thumbs Up')
when 'medal'
t(:medal_display_name, 'Medal')
when 'moon'
t(:moon_display_name, 'Moon')
when 'ninja'
t(:ninja_display_name, 'Ninja')
when 'panama_rocket'
t(:panama_rocket_display_name, 'Panama Rocket')
when 'panda'
t(:panda_display_name, 'Panda')
when 'panda_unicycle'
t(:panda_unicycle_display_name, 'Panda Unicycle')
when 'pinwheel'
t(:pinwheel_display_name, 'Pinwheel')
when 'pizza_slice'
t(:pizza_slice_display_name, 'Pizza Slice')
when 'rocket'
t(:rocket_display_name, 'Rocket')
when 'star'
t(:star_display_name, 'Star')
when 'thumbs_up'
t(:thumbs_up_display_name, 'Thumbs Up')
when 'trophy'
t(:trophy_display_name, 'Trophy')
end
end
def description
case name
when 'balloon'
t(:balloon_description, 'Balloon Description')
when 'bifrost_trophy'
t(:bifrost_trophy_description, 'Bifrost Trophy Description')
when 'butterfly'
t(:butterfly_description, 'Butterfly Description')
when 'einstein_rosen_trophy'
t(:einstein_rosen_trophy_description, 'Einstein Rosen Trophy Description')
when 'fire'
t(:fire_description, 'Fire Description')
when 'flowers'
t(:flowers_description, 'Flower Description')
when 'four_leaf_clover'
t(:four_leaf_clover_description, 'Four Leaf Clover Description')
when 'gift'
t(:gift_description, 'Gift Description')
when 'gnome'
t(:gnome_description, 'Gnome Description')
when 'helix_rocket'
t(:helix_rocket_description, 'Helix Rocket Description')
when 'horse_shoe'
t(:horse_shoe_description, 'Horse Shoe Description')
when 'hot_air_balloon'
t(:hot_air_balloon_description, 'Hot Air Balloon Description')
when 'magic_mystery_thumbs_up'
t(:magic_mystery_thumbs_up_description, 'Magic Mystery Thumbs Up Description')
when 'medal'
t(:medal_description, 'Medal Description')
when 'moon'
t(:moon_description, 'Moon Description')
when 'ninja'
t(:ninja_description, 'Ninja Description')
when 'panama_rocket'
t(:panama_rocket_description, 'Panama Rocket Description')
when 'panda'
t(:panda_description, 'Panda Description')
when 'panda_unicycle'
t(:panda_unicycle_description, 'Panda Unicycle Description')
when 'pinwheel'
t(:pinwheel_description, 'Pinwheel Description')
when 'pizza_slice'
t(:pizza_slice_description, 'Pizza Slice Description')
when 'rocket'
t(:rocket_description, 'Rocket Description')
when 'star'
t(:star_description, 'Star Description')
when 'thumbs_up'
t(:thumbs_up_description, 'Thumbs Up Description')
when 'trophy'
t(:trophy_description, 'Trophy Description')
end
end
def self.trophy_names
TROPHY_NAMES
end
def self.blank_trophy(name)
{
name: name,
_id: nil,
id: nil,
user_id: nil,
display_name: nil,
description: nil,
created_at: nil,
updated_at: nil
}
end
end