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'