Sha256: 1e6d2ddefbefb280c11767984f2ac84451e256fda4f0b2c319c38ee96110a0bf
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
module Infoboxer module Templates class Base < Tree::Template include Tree class << self attr_accessor :template_name, :template_options def inspect template_name ? "Infoboxer::Templates::#{clean_name}" : super end def clean_name template_name ? "Template[#{template_name}]" : 'Template' end end def ==(other) other.is_a?(Tree::Template) && _eq(other) end protected def clean_class if self.class.template_name == name self.class.clean_name else super end end end # Renders all of its unnamed variables as space-separated text # Also allows in-template navigation. # # Used for {Set} definitions. class Show < Base alias_method :children, :unnamed_variables protected def children_separator ' ' end end # Replaces template with replacement, while rendering. # # Used for {Set} definitions. class Replace < Base def replace fail(NotImplementedError, 'Descendants should define :replace') end def text replace end end # Replaces template with its name, while rendering. # # Used for {Set} definitions. class Literal < Base alias_method :text, :name end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
infoboxer-0.2.8 | lib/infoboxer/templates/base.rb |