class Textplacer::Processor

Attributes

context[R]
source[R]

Public Class Methods

new(source, context) click to toggle source
# File lib/textplacer/processor.rb, line 5
def initialize(source, context)
  @source = source
  @context = context
end

Public Instance Methods

perform() click to toggle source
# File lib/textplacer/processor.rb, line 10
def perform
  process_lists
  process_items
  source
end

Private Instance Methods

process_items() click to toggle source
# File lib/textplacer/processor.rb, line 30
def process_items
  @source = ItemProcessor.new(source, context).perform
end
process_lists() click to toggle source
# File lib/textplacer/processor.rb, line 18
def process_lists
  lists = source.scan /(\[\[(.+)\]\](.+)\[\[\2\]\])/m
  lists.each do |gsource, key, source|
    localcontext = context.indifferent_fetch(key)
    replace = ''
    localcontext.each do |cont|
      replace += Processor.new(source, cont).perform
    end
    @source.sub! gsource, replace
  end
end