Sha256: ef33c3bc1882542b5c418592ae4ac19fb5dbda6a8add1b1772d3a755e112d8ff

Contents?: true

Size: 624 Bytes

Versions: 5

Compression:

Stored size: 624 Bytes

Contents

# encoding: UTF-8

require 'erb'
require_relative 'service'

module Clerq
  module Services

    # Render @object trough ERB temlate
    #
    # Usage
    #   erb = "id: <%= @object.id %>\ntitle: <%= @object.title %>\n"
    #   obj = Node.new(id: 'uc', title: 'Use Cases', meta: {skip_meta: true})
    #   txt = RenderErb.call(erb, obj) # or RenderErb.(erb, obj)
    class RenderErb < Service

      def call
        tt = ERB.new(@erb, nil, "-")
        tt.result(binding)
      end

      def initialize(erb: , object: )
        @erb = erb
        @object = object
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
clerq-0.3.4 lib/clerq/services/render_erb.rb
clerq-0.3.3 lib/clerq/services/render_erb.rb
clerq-0.3.2 lib/clerq/services/render_erb.rb
clerq-0.3.1 lib/clerq/services/render_erb.rb
clerq-0.3.0 lib/clerq/services/render_erb.rb