class HammerCLI::Output::Formatters::FormatterLibrary
Registry for formatters
Public Class Methods
new(formatter_map={})
click to toggle source
# File lib/hammer_cli/output/formatters.rb, line 6 def initialize(formatter_map={}) @_formatters = {} formatter_map.each do |type, formatters| register_formatter(type, *Array(formatters)) end end
Public Instance Methods
formatter_for_type(type)
click to toggle source
# File lib/hammer_cli/output/formatters.rb, line 22 def formatter_for_type(type) @_formatters[type.name.split('::').last.to_sym] end
register_formatter(type, *formatters)
click to toggle source
# File lib/hammer_cli/output/formatters.rb, line 14 def register_formatter(type, *formatters) if @_formatters[type].nil? @_formatters[type] = FormatterContainer.new(*formatters) else formatters.each { |f| @_formatters[type].add_formatter(f) } end end