class Plate::ClassNode

Attributes

klass[RW]

Public Class Methods

new(klass, body) click to toggle source
Calls superclass method
# File lib/plate/nodes.rb, line 57
def initialize(klass, body)
  super(body)
  self.klass = klass
end

Public Instance Methods

compile(compiler, parent = nil) click to toggle source
# File lib/plate/compiler.rb, line 201
def compile(compiler, parent = nil)
  tag = compile_tag
  c = compile_class
  content, style, script = compile_body(compiler, parent)
  "<#{tag} class=\"#{c}\"#{style}#{script}>#{content}</#{tag}>"
end
compile_class() click to toggle source
# File lib/plate/compiler.rb, line 184
def compile_class
  klass.split('.').map { |k|
    case k
    when 'btn'
      k + ' btn-default'
    when 'center'
      "text-#{k}"
    when /\A\d+\z/
      "col-sm-#{k}"
    when /\Aoffset\-(\d+)\z/
      "col-sm-offset-#{$1}"
    else
      k
    end
  }.join(' ')
end
compile_tag() click to toggle source
# File lib/plate/compiler.rb, line 175
def compile_tag
  case klass
  when /\A(?:btn)/
    'button'
  else
    'div'
  end
end
inspect() click to toggle source
# File lib/plate/nodes.rb, line 62
def inspect
  inspect_with([klass])
end