Sha256: 799ae6e5fe8dd4167b2c2cedee1597385adf08bb5f311953cc62db3943af2193

Contents?: true

Size: 406 Bytes

Versions: 6

Compression:

Stored size: 406 Bytes

Contents

require 'erb'

module WIP::Runner::Renderer
  class Handlers::ERB
    def initialize(template)
      @template = clean(template)
    end

    def render(context)
      ::ERB.new(@template).result(context)
    end

    private

    def clean(string)
      return if string.nil?

      indent = (string.scan(/^[ \t]*(?=\S)/).min || '').size
      string.gsub(/^[ \t]{#{indent}}/, '').strip
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
wip-runner-0.4.1 lib/wip/runner/renderer/handlers/erb.rb
wip-runner-0.4.0 lib/wip/runner/renderer/handlers/erb.rb
wip-runner-0.3.4 lib/wip/runner/renderer/handlers/erb.rb
wip-runner-0.3.3 lib/wip/runner/renderer/handlers/erb.rb
wip-runner-0.3.2 lib/wip/runner/renderer/handlers/erb.rb
wip-runner-0.3.1 lib/wip/runner/renderer/handlers/erb.rb