class Prettyp::FormatterRegistry
Attributes
formatters[R]
Public Class Methods
new(formatters = Formatter::BaseFormatter.inherited_classes)
click to toggle source
# File lib/prettyp/formatter_registry.rb, line 6 def initialize formatters = Formatter::BaseFormatter.inherited_classes determine_formatters formatters end
Public Instance Methods
formatter_for(language)
click to toggle source
# File lib/prettyp/formatter_registry.rb, line 10 def formatter_for language formatters[format_language_key(language)].first end
Private Instance Methods
determine_formatters(formatters)
click to toggle source
# File lib/prettyp/formatter_registry.rb, line 15 def determine_formatters formatters our_formatters = Hash.new {|h,k| h[k]=[]} formatters.each do |clazz| clazz.languages.each { |l| our_formatters[format_language_key(l)] << clazz } if clazz.check_requirement end @formatters = our_formatters end
format_language_key(l)
click to toggle source
# File lib/prettyp/formatter_registry.rb, line 25 def format_language_key l l.downcase.to_sym end