class MarkUS

Attributes

__markus_file[RW]
__markus_includes[RW]
__markus_indent[RW]
__markus_reload[RW]
__markus_reload_timestamp[RW]
__markus_templates[RW]
__markus_indent[R]
__markus_reload[R]

Public Class Methods

indent() click to toggle source
# File lib/markus.rb, line 278
def self::indent #{{{
  if self.__markus_indent.nil?
    @@__markus_indent = true
  else
    self.__markus_indent = true
  end
end
reload() click to toggle source
# File lib/markus.rb, line 260
def  self::reload #{{{
  self.__markus_reload = true
  self.__markus_reload_timestamp = File.stat(self.__markus_file).mtime
end
template(name,&p) click to toggle source
# File lib/markus.rb, line 274
def self::template(name,&p) #{{{
  self.__markus_templates ||= {}
  self.__markus_templates[name] = p
end
templates(some) click to toggle source
# File lib/markus.rb, line 286
def self::templates(some)
  self.__markus_includes << some
  self.__markus_templates.merge! some.__markus_templates
end

Public Instance Methods

__markus_indent=(value) click to toggle source
# File lib/markus.rb, line 35
def __markus_indent=(value) #{{{
  self.class.__markus_indent = value == true ? true : false
end
__markus_reload=(value) click to toggle source
# File lib/markus.rb, line 38
def __markus_reload=(value) #{{{
  self.class.__markus_reload = value == true ? true : false
end
element_!(name=nil, *args, &blk) click to toggle source

}}}

# File lib/markus.rb, line 76
def element_!(name=nil, *args, &blk) #{{{
  __markus_method_missing name, *args, &blk
end
html_!(name,params={}) click to toggle source
# File lib/markus.rb, line 48
def html_!(name,params={}) #{{{
  markus_! name, :html, params
end
json_!(name,params={}) click to toggle source
# File lib/markus.rb, line 42
def json_!(name,params={}) #{{{
  markus_! name, :json, params
end
markus_!(name,type,params={}) click to toggle source
# File lib/markus.rb, line 52
def markus_!(name,type,params={}) #{{{
  @__markus = []
  @__markus_buffer = []
  @__markus_level = -1
  @__markus_parent = nil

  params.each do |k,v|
    self.instance_variable_set(("@" + k.to_s).to_sym, v)
  end if params.is_a? Hash

  self.class.__markus_do_reload
  self.class.__markus_includes.each do |some|
    if some.__markus_do_reload
      self.class.__markus_templates.merge! some.__markus_templates
    end
  end
  @__markus_mode = type

  template_!(name)
  @__markus_buffer.last.chomp!(',') if @__markus_mode == :json
  self.class.__markus_indent ? @__markus_buffer.join("\n") : @__markus_buffer.join
end
template_!(name,*args) click to toggle source
# File lib/markus.rb, line 97
def template_!(name,*args) #{{{
  instance_exec *args, &self.class.__markus_templates[name]
end
value_!(val) click to toggle source
# File lib/markus.rb, line 79
def value_!(val) #{{{
  case val
    when String
      content = "\"#{val.gsub(/"/,'\\\"')}\""
    when Integer, Float
      content = val
    else
      content = "null"
  end
  @__markus_level += 1
  if self.class.__markus_indent
    @__markus_buffer << "#{"  " * @__markus_level}#{content},"
  else
    @__markus_buffer << "#{content},"
  end
  @__markus_level -= 1
  nil
end
xml_!(name,params={}) click to toggle source
# File lib/markus.rb, line 45
def xml_!(name,params={}) #{{{
  markus_! name, :xml, params
end