Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
class ResponseWriter
def write(customer, serialize, write)
write.call(serialize.call(customer))
end
end
customer = Customer.new("Mr", "Jason", "Gorman")
writer = ResponseWriter.new
writer.write(customer, method(:to_html), lambda {|o| ConsoleWriter.new().write(o)})
writer.write(customer, method(:to_xml), lambda {|o| LogFileWriter.new("C:\test\testlog.txt").write(o)})
writer.write(customer, method(:to_string), lambda {|o| NoSqlWriter.new(
"mongodb",
"localhost",
"admin",
"password123").write(o)})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment