Skip to content

Instantly share code, notes, and snippets.

@bnadlerjr
Created July 28, 2010 00:27
Show Gist options
  • Save bnadlerjr/493111 to your computer and use it in GitHub Desktop.
Save bnadlerjr/493111 to your computer and use it in GitHub Desktop.
# Lambda's are used here for simplicity. In reality each formatter would
# probably be a separate class.
FORMATTERS = {
:html => lambda { |data| "<p>#{data}</p>" },
:text => lambda { |data| data },
:pdf => lambda { |data| "<pdf>#{data}</pdf>" }
}
def output(data, format)
raise ArgumentError,
"Invalid format (#{format})." unless FORMATTERS.has_key?(format)
FORMATTERS.fetch(format).call(data)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment