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