class ShinyColors::Unit
Attributes
color[R]
key_name[R]
name[R]
name_jp[R]
Public Class Methods
all()
click to toggle source
# File lib/shinycolors/unit.rb, line 19 def all data.map do |key, values| values.delete(:idols) values[:key_name] = key new(**values) end end
data()
click to toggle source
# File lib/shinycolors/unit.rb, line 44 def data YAML.load_file('./data/idol.yml').deep_symbolize_keys! end
find(name)
click to toggle source
# File lib/shinycolors/unit.rb, line 31 def find(name) h = data[name] raise(NotFoundError) if h.nil? h.delete(:idols) h[:key_name] = name new(**h) end
names()
click to toggle source
# File lib/shinycolors/unit.rb, line 27 def names data.keys end
new(name:, name_jp:, color:, key_name:)
click to toggle source
# File lib/shinycolors/unit.rb, line 9 def initialize(name:, name_jp:, color:, key_name:) @name = name @name_jp = name_jp @color = color @key_name = key_name end
sample()
click to toggle source
# File lib/shinycolors/unit.rb, line 40 def sample all.sample end
Public Instance Methods
display()
click to toggle source
# File lib/shinycolors/unit.rb, line 53 def display puts <<~TEXT 名前: #{name} 名前(カタカナ): #{name_jp} ユニットカラー: #{color} TEXT end
idols()
click to toggle source
# File lib/shinycolors/unit.rb, line 49 def idols Unit.data[key_name][:idols].keys.map { |key_name| Idol.find(key_name) } end