class Pakyow::Presenter::ProcessorCaller
@api private
Public Class Methods
new(instances)
click to toggle source
# File lib/pakyow/presenter/processor.rb, line 50 def initialize(instances) @processors = normalize(instances) end
Public Instance Methods
process(content, extension)
click to toggle source
# File lib/pakyow/presenter/processor.rb, line 54 def process(content, extension) content = content.to_s processors_for_extension(extension).each do |processor| content = processor.call(content) end unless extension == :html processors_for_extension(:html).each do |processor| content = processor.call(content) end end content end
process?(extension)
click to toggle source
# File lib/pakyow/presenter/processor.rb, line 70 def process?(extension) @processors.key?(extension.tr(".", "").to_sym) end
Private Instance Methods
normalize(instances)
click to toggle source
# File lib/pakyow/presenter/processor.rb, line 80 def normalize(instances) instances.each_with_object({}) { |instance, processors| instance.class.extensions.each do |extension| (processors[extension] ||= []) << instance end } end
processors_for_extension(extension)
click to toggle source
# File lib/pakyow/presenter/processor.rb, line 76 def processors_for_extension(extension) @processors[extension] || [] end