Text File Writer Assignment

From CSE425S Wiki
Jump to navigation Jump to search

Background

Ensure

Ruby provides begin/rescue/ensure which is rather analogous to try/catch/finally in Java.

note: although coincidental, it is rather fitting that this reference covers [begin/rescue/ensure with ensuring to close an opened file as its example. Ensuring to close an opened file is the canonical example for this sort of feature.

Code To Implement

open_yield_close

file: src/main/ruby/text_file_writer/text_file_writer.rb Ruby logo.svg
class: TextFileWriter
superclass: Object
methods: open_yield_close(path)

Client

  TextFileWriter.open_yield_close(path) do |file|
    file.write("<html><body><h1>#{Time.now}</h1></body></html>")
  end