Sha256: 9613dacd802a98e10a436a711ae5e20229f96a533553896063519f61934e9530

Contents?: true

Size: 888 Bytes

Versions: 14

Compression:

Stored size: 888 Bytes

Contents

# frozen_string_literal: true
require_relative 'template'
require 'radius'

module Tilt
  # Radius Template
  # http://github.com/jlong/radius/
  class RadiusTemplate < Template
    class ContextClass < Radius::Context
      attr_accessor :tilt_scope

      def tag_missing(name, attributes)
        tilt_scope.__send__(name)
      end

      def dup
        i = super
        i.tilt_scope = tilt_scope
        i
      end
    end

    def evaluate(scope, locals, &block)
      context = ContextClass.new
      context.tilt_scope = scope
      context.define_tag("yield", &block) if block
      locals.each do |tag, value|
        context.define_tag(tag) do
          value
        end
      end

      @options[:tag_prefix] = 'r' unless @options.has_key?(:tag_prefix)
      Radius::Parser.new(context, @options).parse(@data)
    end

    def allows_script?
      false
    end
  end
end

Version data entries

14 entries across 13 versions & 5 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/radius.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/tilt-2.4.0/lib/tilt/radius.rb
tilt-2.6.0 lib/tilt/radius.rb
brakeman-7.0.0 bundle/ruby/3.1.0/gems/tilt-2.5.0/lib/tilt/radius.rb
tilt-2.5.0 lib/tilt/radius.rb
brakeman-6.2.2 bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/radius.rb
brakeman-6.2.2.rc1 bundle/ruby/3.3.0/gems/tilt-2.4.0/lib/tilt/radius.rb
brakeman-6.2.1 bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/radius.rb
brakeman-6.2.0 bundle/ruby/3.1.0/gems/tilt-2.4.0/lib/tilt/radius.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/tilt-2.4.0/lib/tilt/radius.rb
tilt-2.4.0 lib/tilt/radius.rb
getargv-0.3.3-universal-darwin vendor/bundle/ruby/3.3.0/gems/tilt-2.3.0/lib/tilt/radius.rb
tilt-2.3.0 lib/tilt/radius.rb
tilt-2.2.0 lib/tilt/radius.rb