Sha256: 9d43ae7ab7fc751f975592d71a1cc29931be159a80248fb83c84c716ad2875bb

Contents?: true

Size: 883 Bytes

Versions: 5

Compression:

Stored size: 883 Bytes

Contents

# encoding: UTF-8
require_relative 'service'
require_relative 'query_template'
require_relative 'render_erb'

module Clerq
  module Services

    class RenderNode < Service

      def call
        @erb = QueryTemplate.(@ett)
        RenderErb.(erb: @erb, object: @node)
      end

      def initialize(node: , template:)
        check_string_argument!(template, 'template')
        check_string_empty!(template, 'template')
        @node = node
        @ett = template
      end

      def check_string_argument!(arg, str)
        return if arg.is_a? String
        errmsg = ":#{str} must be String!"
        raise ArgumentError, errmsg, caller
      end

      def check_string_empty!(arg, str)
        return unless arg.empty?
        errmsg = ":#{str} cannot be empty!"
        raise ArgumentError, errmsg, caller
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

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