Changeset 48
- Timestamp:
- 05/21/2006 13:12:23 (3 years ago)
- Location:
- trunk
- Files:
-
- 2 modified
-
lib/markaby/builder.rb (modified) (2 diffs)
-
test/test_markaby.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/markaby/builder.rb
r47 r48 162 162 # * Otherwise, +sym+ and its arguments are passed to tag! 163 163 def method_missing(sym, *args, &block) 164 if TAGS.include?(sym) or (FORM_TAGS.include?(sym) and args.empty?) 164 if @helpers.respond_to?(sym) 165 r = @helpers.send(sym, *args, &block) 166 @builder << r if @output_helpers 167 r 168 elsif ::Builder::XmlMarkup.instance_methods.include?(sym.to_s) 169 @builder.__send__(sym, *args, &block) 170 elsif TAGS.include?(sym) or (FORM_TAGS.include?(sym) and args.empty?) 165 171 if args.empty? and block.nil? 166 172 return CssProxy.new do |args, block| … … 171 177 end 172 178 end 173 if args.first.respond_to? :to_hash174 block ||= proc{}175 end176 179 tag!(sym, *args, &block) 177 180 elsif SELF_CLOSING_TAGS.include?(sym) 178 181 tag!(sym, *args) 179 elsif @helpers.respond_to?(sym, true) 180 r = @helpers.send(sym, *args, &block) 181 @builder << r if @output_helpers 182 r 183 elsif ::Builder::XmlMarkup.instance_methods.include?(sym.to_s) 184 @builder.__send__(sym, *args, &block) 185 elsif instance_variable_get("@#{sym}") 186 instance_variable_get("@#{sym}") 182 elsif value = instance_variable_get("@#{sym}") 183 value 187 184 else 188 185 tag!(sym, *args, &block) -
trunk/test/test_markaby.rb
r46 r48 55 55 end 56 56 57 def test_ivars_without_at_symbol 58 assert_equal "<h1>Hello World</h1>\n", mab("@message = 'Hello World'; h1 message") 59 end 60 57 61 def test_output_helpers 58 62 assert_equal %{<a href="">edit</a>}, mab("link_to('edit')", {}, MarkabyTestHelpers)