class RichterCatalogue::Painting

Attributes

artist[R]
medium[RW]
name[RW]
painting_url[RW]
price[RW]
size[RW]
subject[R]
year[RW]

Public Class Methods

all() click to toggle source
# File lib/richter_catalogue/painting.rb, line 28
def self.all
  @@all
end
create_from_subject(paintings_array, subject = nil) click to toggle source
# File lib/richter_catalogue/painting.rb, line 14
def self.create_from_subject(paintings_array, subject = nil)
  paintings_array.each do |attributes_hash|
    new_painting = RichterCatalogue::Painting.new(attributes_hash)
    new_painting.subject = subject
  end
end
display(painting) click to toggle source
# File lib/richter_catalogue/painting.rb, line 51
def self.display(painting)

  puts "  name: #{painting.name}"
  puts "  year: #{painting.year.name}"
  puts "  size: #{painting.size}"
  puts "  medium: #{painting.medium}"

  if !(painting.price == "")
    puts "  price: #{painting.price}"
  end
  puts "------------------------"
end
display_name(painting) click to toggle source
# File lib/richter_catalogue/painting.rb, line 47
def self.display_name(painting)
  puts "- #{painting.name}"
end
find_by_name(name) click to toggle source
# File lib/richter_catalogue/painting.rb, line 68
def self.find_by_name(name)
  self.all.select{|painting| painting.name == name}
end
names() click to toggle source
# File lib/richter_catalogue/painting.rb, line 64
def self.names
  RichterCatalogue::Painting.all.collect {|painting| painting.name}.uniq
end
new(attributes_hash) click to toggle source
# File lib/richter_catalogue/painting.rb, line 8
def initialize(attributes_hash)
  attributes_hash.each {|key, value| self.send("#{key}=", value)}
  @@all << self
end

Public Instance Methods

add_attributes(attributes_hash) click to toggle source
# File lib/richter_catalogue/painting.rb, line 21
def add_attributes(attributes_hash)
  attributes_hash.each do |key, value|
      self.send("#{key}=", value)
  end
  self
end
artist=(artist) click to toggle source
# File lib/richter_catalogue/painting.rb, line 32
def artist=(artist)
  @artist = artist
  artist.add_painting(self)
end
subject=(subject) click to toggle source
# File lib/richter_catalogue/painting.rb, line 37
def subject=(subject)
  @subject = subject
  subject.add_painting(self)
end
year=(year) click to toggle source
# File lib/richter_catalogue/painting.rb, line 42
def year=(year)
  @year = year
  year.add_painting(self)
end