class RubiLive::Series

Constants

ConfigPath

Public Class Methods

config() click to toggle source
# File lib/rubi_live/series.rb, line 26
def config
  @config ||= YAML.load_file(ConfigPath).deep_symbolize_keys
end
find(name) click to toggle source
# File lib/rubi_live/series.rb, line 30
def find(name)
  series_name = name.to_sym
  raise UnknownSeriesError unless valid?(series_name)

  @cache ||= {}
  unless @cache[series_name]
    series_config = config[series_name]
    @cache[series_name] = RubiLive::Series[series_config]
  end

  @cache[series_name]
end
names() click to toggle source
# File lib/rubi_live/series.rb, line 43
def names
  config.keys
end
valid?(series_name) click to toggle source
# File lib/rubi_live/series.rb, line 47
def valid?(series_name)
  names.include?(series_name)
end

Public Instance Methods

each(&block) click to toggle source
# File lib/rubi_live/series.rb, line 18
def each(&block)
  members.each(&block)
end
members() click to toggle source
# File lib/rubi_live/series.rb, line 6
def members
  self[:idols].map do |member|
    RubiLive::Idol.find(member)
  end
end
trio_units() click to toggle source
# File lib/rubi_live/series.rb, line 12
def trio_units
  self[:trio_units].map do |trio_unit|
    RubiLive::Unit.find(trio_unit)
  end
end