Class: AdHocTemplate::DefaultTagFormatter
- Inherits:
-
Object
- Object
- AdHocTemplate::DefaultTagFormatter
show all
- Defined in:
- lib/ad_hoc_template/pseudohiki_formatter.rb,
lib/ad_hoc_template/default_tag_formatter.rb
Defined Under Namespace
Modules: PseudoHikiFormatter
Constant Summary
collapse
- FUNCTION_TABLE =
{
'=' => :default,
'h' => :html_encode,
}
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
10
11
12
13
14
15
16
17
|
# File 'lib/ad_hoc_template/default_tag_formatter.rb', line 10
def self.assign_format(format_label, &func)
if format_label.kind_of?(Hash) && !func
func_name, label = format_label.to_a.flatten
FUNCTION_TABLE[label] = func_name
else
FUNCTION_TABLE[format_label] = func
end
end
|
Instance Method Details
#default(var, record) ⇒ Object
33
34
35
|
# File 'lib/ad_hoc_template/default_tag_formatter.rb', line 33
def default(var, record)
record[var] || "[#{var}]"
end
|
#find_function(format_label) ⇒ Object
19
20
21
|
# File 'lib/ad_hoc_template/default_tag_formatter.rb', line 19
def find_function(format_label)
FUNCTION_TABLE[format_label] || :default
end
|
23
24
25
26
27
28
29
30
31
|
# File 'lib/ad_hoc_template/default_tag_formatter.rb', line 23
def format(format_label, var, record)
func = find_function(format_label)
case func
when Symbol, String
send(func, var, record)
else
func.call(var, record)
end
end
|
#html_encode(var, record) ⇒ Object
37
38
39
|
# File 'lib/ad_hoc_template/default_tag_formatter.rb', line 37
def html_encode(var, record)
HtmlElement.escape(record[var] || var)
end
|