Sha256: 44b93541ef66c4e6c284d6de120c98bdc76f478d5b3d1b9537e11a522d9aec4a
Contents?: true
Size: 771 Bytes
Versions: 2
Compression:
Stored size: 771 Bytes
Contents
class Episode attr_accessor :title, :link, :description, :date, :books extend Memorable::ClassMethods extend Findable::ClassMethods extend Sortable::ClassMethods include Memorable::InstanceMethods @@all = [] def initialize(attributes) @books = [] attributes.each do |k, v| self.send("#{k}=", v) end end def self.all @@all end def add_book(book) self.books << book unless self.books.include?(book) book.episode << self unless book.episode.include?(self) books end def self.find_by_keyword(keyword) self.all.select { |ep| ep.title.downcase.include?(keyword) } end def self.find_by_date(first_date, last_date) self.all.select { |ep| ep.date >= first_date && ep.date <= last_date } end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
podcast-book-club-1.0.3 | lib/podcast_book_club/episode.rb |
podcast-book-club-1.0.2 | lib/podcast_book_club/episode.rb |