Sha256: 6c7da689a58f0c91a8dab0d9c399e9100ffd9b59074af0ca0d1dbea872219572

Contents?: true

Size: 583 Bytes

Versions: 1

Compression:

Stored size: 583 Bytes

Contents

module Cubism
  class Preprocessor
    def initialize(source:, view_context:)
      start_pos = /<%= cubicle_for/ =~ source
      @source = source[start_pos..]
      @view_context = view_context
    end

    def process
      begin
        do_parse
      rescue NameError
        # we ignore any name errors from unset instance variables or local assigns here
      end

      @source
    end

    def do_parse
      ActionView::Template::Handlers::ERB::Erubi.new(@source).evaluate(@view_context)
    rescue SyntaxError
      @source = @source[..-2]
      do_parse
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cubism-0.1.0.pre10 lib/cubism/preprocessor.rb~