Changeset 1187
- Timestamp:
- 2008-09-23 16:27:36 (4 months ago)
- Files:
-
- trunk/lib/parser/lib/rules/zena.rb (modified) (4 diffs)
- trunk/test/helpers/zena_parser/eval.yml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/parser/lib/rules/zena.rb
r1186 r1187 141 141 # do='[text] 142 142 @method = 'show' 143 @params[: var_or_attr] = $1143 @params[:attr_or_date] = $1 144 144 elsif @method =~ /^\{(.*)\}$/ 145 145 # do='{v_text}' … … 258 258 259 259 def r_show 260 if var_or_attr = @params[:var_or_attr] 261 # using [var] shortcut. Can be either a var or an attribute 262 if @context[:vars] && @context[:vars].include?(var_or_attr) 263 @params[:var] = var_or_attr 264 elsif var_or_attr == 'current_date' || var_or_attr =~ /_at$/ 265 @params[:date] = var_or_attr 266 else 267 @params[:attr] = var_or_attr 260 if attr_or_date = @params[:attr_or_date] 261 # using [var] shortcut. Can be either a date or an attribute/var 262 if attr_or_date == 'current_date' || attr_or_date =~ /_at$/ 263 @params[:date] = attr_or_date 264 else 265 @params[:attr] = attr_or_date 268 266 end 269 267 end … … 2729 2727 2730 2728 def node_attribute(str, opts={}) 2729 if @context[:vars] && @context[:vars].include?(str) 2730 return "set_#{str}" 2731 end 2732 2731 2733 return "(params[:s] || @node[:zip]).to_i" if str == 'start.id' 2732 2734 attribute, att_node, klass = get_attribute_and_node(str) … … 2734 2736 return "params[:#{$1}]" if attribute =~ /^param:(\w+)$/ 2735 2737 return current_date if attribute == 'current_date' 2738 2736 2739 2737 2740 att_node ||= opts[:node] || node trunk/test/helpers/zena_parser/eval.yml
r1072 r1187 46 46 src: "<r:set var='name'>12345</r:set><b do='[name]'/>" 47 47 res: "<b>12345</b>" 48 49 test_var: 50 src: "<r:set var='hours'>3</r:set><r:if test='hours gt 0'>you have: <r:show attr='hours'/></r:if>" 51 res: "you have: 3"
