class ChartStatus
Attributes
peak_position[RW]
previous_week[RW]
rank[RW]
song[RW]
weeks_charted[RW]
Public Class Methods
new(song_info)
click to toggle source
# File lib/Hot_100_CLI/chart_status.rb, line 5 def initialize(song_info) @rank = song_info[:rank].to_i @previous_week = song_info[:previous_week].to_i @peak_position = song_info[:peak_position].to_i @weeks_charted = song_info[:weeks_charted].to_i end
new_songs()
click to toggle source
# File lib/Hot_100_CLI/chart_status.rb, line 13 def self.new_songs Song.all.select { | song | song.previous_week == "--" } end
Public Instance Methods
is_new?()
click to toggle source
# File lib/Hot_100_CLI/chart_status.rb, line 17 def is_new? previous_week == "--" end
peak_status()
click to toggle source
# File lib/Hot_100_CLI/chart_status.rb, line 31 def peak_status if rank == peak_position puts "It's currently at it's peak position!!" else puts "It's down from it's peak position, which was number #{peak_position}." end end
position_change()
click to toggle source
# File lib/Hot_100_CLI/chart_status.rb, line 21 def position_change if previous_week > rank puts "#{song.title} moved up from \##{previous_week} to \##{rank}!" elsif previous_week < rank puts "#{song.title} moved down from \##{previous_week} to \##{rank}." elsif previous_week == rank puts "#{song.title} remained at #{rank}." end end
weeks_status()
click to toggle source
# File lib/Hot_100_CLI/chart_status.rb, line 39 def weeks_status puts "#{song.title} has been on the charts for #{weeks_charted} weeks." end