Refactoring a simple Ruby CLI program
It's very strange you're using instance_eval. That's not how a regular program should work and is not needed in your code.

If you want to avoid calling 4 instance methods from a class instance method, then you can create a new instance method like:

def workflow
  seek_ticket_price
  seek_number_of_attendes

  print_revenue
  print_profit
end
def self.run
  TheatreCLI.new.workflow
end


Maybe it's not a problem here, but using a lot of instance_eval for saving keystrokes looks like working around a bad API.  Also my gut feeling tells me that such practice can lead to unexpected troubles if used outside class body.