Advertisement
Guest User

Untitled

a guest
May 5th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. class HTMLFormatter
  2. def output_report(context)
  3. puts('<html>')
  4. puts(' <head>')
  5. puts(" <title>#{context.title}</title>")
  6. puts(' </head>')
  7. puts(' <body>')
  8. context.text.each do |line|
  9. puts(" <p>#{line}</p>" )
  10. end
  11. puts(' </body>')
  12. puts('</html>')
  13. end
  14. end
  15.  
  16. class PlainTextFormatter
  17. def output_report(context)
  18. puts("***** #{context.title} *****")
  19. context.text.each do |line|
  20. puts(line)
  21. end
  22. end
  23. end
  24.  
  25. class Report
  26. attr_reader :title, :text
  27. attr_accessor :formatter
  28.  
  29. def initialize(formatter)
  30. @title = 'Monthly Report'
  31. @text = ['Things are going', 'really, really well.']
  32. @formatter = formatter
  33. end
  34.  
  35. def output_report
  36. @formatter.output_report(self)
  37. end
  38. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement