class SimpsonsWorld::Season

Attributes

episodes[R]
number[R]

Public Class Methods

all() click to toggle source
# File lib/simpsons_world/season.rb, line 18
def all
  @@all ||= init
end
find(number) click to toggle source
# File lib/simpsons_world/season.rb, line 26
def find number
  all[number] or raise NoEpisodeError, 'Season not found'
end
init() click to toggle source
# File lib/simpsons_world/season.rb, line 22
def init
  Dir.glob(to_file_path("*")).map { |file| YAML.load_file(file) }.to_h
end
new(number, episodes) click to toggle source
# File lib/simpsons_world/season.rb, line 6
def initialize number, episodes
  @number, @episodes, @@all = number.to_i, episodes, nil
  save
end
to_file_path(number) click to toggle source
# File lib/simpsons_world/season.rb, line 30
def to_file_path number
  File.join(DATA_DIR, "season-#{number}.yml")
end

Public Instance Methods

save() click to toggle source
# File lib/simpsons_world/season.rb, line 11
def save
  File.open(self.class.to_file_path(@number), 'w') do |file|
    file.write [@number, @episodes].to_yaml
  end
end