class StarWarsComics::Artist
Attributes
issues[RW]
name[RW]
path[RW]
Public Class Methods
all()
click to toggle source
# File lib/star-wars-comics/artist.rb, line 61 def self.all @@all end
new(name = "", path = "")
click to toggle source
# File lib/star-wars-comics/artist.rb, line 8 def initialize(name = "", path = "") @name = name @path = path @issues = [] @@all << self end
sort_alpha()
click to toggle source
# File lib/star-wars-comics/artist.rb, line 57 def self.sort_alpha self.all.sort_by! {|artist| artist.name} end
Public Instance Methods
add_issue(issue)
click to toggle source
# File lib/star-wars-comics/artist.rb, line 15 def add_issue(issue) artist_var = self.class.to_s.sub("StarWarsComics::Artists::", "").downcase issue.send("#{artist_var}") || issue.send("#{artist_var}=", self) self.issues << issue unless self.issues.include?(issue) end
frequent_collaborators()
click to toggle source
# File lib/star-wars-comics/artist.rb, line 21 def frequent_collaborators collabs_hist = {} self.issues.each do |issue| if collabs_hist.has_key?(issue.writer) collabs_hist[issue.writer] += 1 elsif issue.writer != self collabs_hist[issue.writer] = 0 end if collabs_hist.has_key?(issue.penciller) collabs_hist[issue.penciller] += 1 elsif issue.penciller != self collabs_hist[issue.penciller] = 0 end if collabs_hist.has_key?(issue.letterer) collabs_hist[issue.letterer] += 1 elsif issue.letterer != self collabs_hist[issue.letterer] = 0 end if collabs_hist.has_key?(issue.colorist) collabs_hist[issue.colorist] += 1 elsif issue.colorist != self collabs_hist[issue.colorist] = 0 end end collabs_hist.sort_by {|collab, times| times}.each do |collab, times| puts "#{collab.name}: #{times} times" unless times < 2 end end