Skip to content

Instantly share code, notes, and snippets.

@jikkujose
Last active August 29, 2015 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jikkujose/ff315760a8e8c6647942 to your computer and use it in GitHub Desktop.
Save jikkujose/ff315760a8e8c6647942 to your computer and use it in GitHub Desktop.
class Theatre
COST = { running: 3, fixed: 180 }
attr_accessor :number_of_audience, :ticket_price
def revenue
@number_of_audience * @ticket_price
end
def total_cost
COST[:fixed] + (@number_of_audience * COST[:running])
end
def net
revenue - total_cost
end
def profit?
net > 0
end
end
class TheatreCLI
def initialize
@theatre = Theatre.new
end
def seek_number_of_attendes
print 'Number of audience: '
@theatre.number_of_audience = gets.chomp.to_i
end
def seek_ticket_price
print 'Ticket price: '
@theatre.ticket_price = gets.chomp.to_i
end
def print_revenue
puts "Revenue for the theatre is RM #{@theatre.revenue}."
end
def print_profit
message_prefix = @theatre.profit? ? 'Profit made' : 'Loss incurred'
puts "#{message_prefix} #{@theatre.net.abs}."
end
def self.run
TheatreCLI.new.instance_eval do
seek_ticket_price
seek_number_of_attendes
print_revenue
print_profit
end
end
end
TheatreCLI.run
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment