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