lib/berkshelf.rb in berkshelf-0.4.0.rc3 vs lib/berkshelf.rb in berkshelf-0.4.0.rc4

- old
+ new

@@ -105,10 +105,37 @@ return potential_root.join('metadata.rb') end end end + # Get the appropriate Formatter object based on the formatter + # classes that have been registered. + # + # @return [~Formatter] + def formatter + @formatter ||= (formatters.has_key?(@_format) ? formatters[@_format] : Formatters::HumanReadable).new + end + + # Specify a formatter identifier + # + # @param [String] format + # which formatter to use + # + # @example Berkshelf.set_format "json" + def set_format(format) + @_format = format + @formatter = nil + end + + # Access the formatters map that links string symbols to Formatter + # implementations + # + # @return [Hash] + def formatters + @formatters ||= {} + end + private def null_stream @null ||= begin strm = STDOUT.clone @@ -117,5 +144,7 @@ strm end end end end + +require 'berkshelf/formatters'