Sha256: e29f9c784144feb88fc73ab7eed2c3d27fec19899dc188d4391bf095c44e8823

Contents?: true

Size: 659 Bytes

Versions: 15

Compression:

Stored size: 659 Bytes

Contents

# frozen_string_literal: true

module Scim
  module Kit
    # Represents a Jbuilder template
    class Template
      TEMPLATES_DIR = Pathname.new(File.join(__dir__, 'v2/templates/'))

      attr_reader :target

      def initialize(target)
        @target = target
      end

      def to_json(options = {})
        template.render(target, options)
      end

      private

      def template_path
        TEMPLATES_DIR.join(template_name)
      end

      def template_name
        "#{target.class.name.split('::').last.underscore}.json.jbuilder"
      end

      def template
        @template ||= Tilt.new(template_path.to_s)
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
scim-kit-0.2.13 lib/scim/kit/template.rb
scim-kit-0.2.12 lib/scim/kit/template.rb
scim-kit-0.2.11 lib/scim/kit/template.rb
scim-kit-0.2.10 lib/scim/kit/template.rb
scim-kit-0.2.9 lib/scim/kit/template.rb
scim-kit-0.2.8 lib/scim/kit/template.rb
scim-kit-0.2.7 lib/scim/kit/template.rb
scim-kit-0.2.6 lib/scim/kit/template.rb
scim-kit-0.2.5 lib/scim/kit/template.rb
scim-kit-0.2.4 lib/scim/kit/template.rb
scim-kit-0.2.3 lib/scim/kit/template.rb
scim-kit-0.2.2 lib/scim/kit/template.rb
scim-kit-0.2.1 lib/scim/kit/template.rb
scim-kit-0.2.0 lib/scim/kit/template.rb
scim-kit-0.1.0 lib/scim/kit/template.rb