Sha256: 05e2b8027be26f879ccbcad0e5a5cbf7fe883051926ba9daa12de48fa4179903

Contents?: true

Size: 1.26 KB

Versions: 13

Compression:

Stored size: 1.26 KB

Contents

# ===========================================================================
# Project:   Abbot - SproutCore Build Tools
# Copyright: ©2009 Apple, Inc.
#            portions copyright @2006-2009 Sprout Systems, Inc.
#            and contributors
# ===========================================================================

module SC
  module RenderEngine

    class Erubis
      def initialize(html_context)
        @html_context = html_context
      end

      def compile(input)
        begin
          require 'erubis'
        rescue
          raise "Cannot render ERB file because erubis is not installed. Try running 'sudo gem install erubis' and try again"
        end
        
        ::Erubis::Eruby.new.convert(input)
      end

      def concat(string, binding)
        eval('_buf', binding) << string
      end

      def capture(*args, &block)
        begin
          buffer = eval('_buf', block.binding)
        rescue
          buffer = nil
        end
        
        if buffer.nil?
          block.call(*args).to_s
        else
          pos = buffer.length
          block.call(*args)

          # get emitted data
          data = buffer[pos..-1]

          # remove from buffer
          buffer[pos..-1] = ''

          data
        end
      end
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
sproutit-sproutcore-1.0.0.20090407205609 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.0.20090408130025 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.0.20090416161445 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.0.20090720093355 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.0.20090720202429 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.0.20090721125122 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.126 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.20090721145236 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.20090721145251 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.20090721145280 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.20090721145281 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.20090721145282 lib/sproutcore/render_engines/erubis.rb
sproutit-sproutcore-1.0.203 lib/sproutcore/render_engines/erubis.rb