Changeset 1223
- Timestamp:
- 12/09/07 14:58:23 (1 year ago)
- Files:
-
- ruport/trunk/lib/ruport/formatter.rb (modified) (1 diff)
- ruport/trunk/test/renderer_test.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
ruport/trunk/lib/ruport/formatter.rb
r1222 r1223 159 159 end 160 160 end 161 end 161 end 162 163 # Allows you to implement stages in your formatter using the 164 # following syntax: 165 # 166 # class ReversedText < Ruport::Formatter 167 # renders :txt, :for => ReverseRenderer 168 # 169 # build :reversed_header do 170 # output << "#{options.header_text}\n" 171 # output << "The reversed text will follow\n" 172 # end 173 # 174 # build :reversed_body do 175 # output << data.reverse << "\n" 176 # end 177 # end 178 # 179 def self.build(stage,&block) 180 define_method "build_#{stage}", &block 181 end 162 182 163 183 # Allows the options specified to be accessed directly. ruport/trunk/test/renderer_test.rb
r1215 r1223 167 167 end 168 168 169 end 170 171 172 class TestFormatterUsingBuild < Test::Unit::TestCase 173 # This formatter uses the build syntax 174 class UsesBuild < Ruport::Formatter 175 renders :text_using_build, :for => VanillaRenderer 176 177 build :header do 178 output << "header\n" 179 end 180 181 build :body do 182 output << "body\n" 183 end 184 185 build :footer do 186 output << "footer\n" 187 end 188 end 189 190 def test_should_render_using_build_syntax 191 assert_equal "header\nbody\nfooter\n", 192 VanillaRenderer.render_text_using_build 193 VanillaRenderer.render_text_using_build do |rend| 194 assert rend.formatter.respond_to?(:build_header) 195 assert rend.formatter.respond_to?(:build_body) 196 assert rend.formatter.respond_to?(:build_footer) 197 end 198 end 169 199 end 170 200
