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