Changeset 1227

Show
Ignore:
Timestamp:
12/15/07 11:23:48 (1 year ago)
Author:
sandal
Message:

Renderer::Hooks save_as method

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • ruport/trunk/Rakefile

    r1192 r1227  
    3535  spec.add_dependency('transaction-simple', "=1.4.0") 
    3636  spec.add_dependency('fastercsv', '>= 1.1.0') 
    37   spec.add_dependency('pdf-writer', '= 1.1.4') 
     37  spec.add_dependency('pdf-writer', '= 1.1.3.9') 
    3838  spec.author = "Gregory Brown" 
    3939  spec.email = "  gregory.t.brown@gmail.com" 
  • ruport/trunk/lib/ruport/renderer.rb

    r1225 r1227  
    176176          yield(rend) if block_given?   
    177177      end 
    178     end   
     178    end       
     179     
     180    def save_as(file,options={}) 
     181      file =~ /.*\.(.*)/     
     182      format = $1 
     183      format = "text" if format == "txt" 
     184      as(format.to_sym, options.merge(:file => file))         
     185    end 
    179186  end 
    180187   
  • ruport/trunk/test/helpers.rb

    r1023 r1227  
    33begin; require "rubygems"; rescue LoadError; nil; end 
    44require "spec-unit" 
     5require "mocha" 
     6require "stubba" 
    57 
    68class Test::Unit::TestCase 
  • ruport/trunk/test/renderer_test.rb

    r1225 r1227  
    132132 
    133133  def test_using_file 
    134     begin 
    135       require "mocha" 
    136       require "stubba" 
    137     rescue LoadError 
    138       $stderr.puts "Warning: Mocha not found -- skipping some Renderer tests" 
    139     end 
    140     if Object.const_defined?(:Mocha
    141       f = [] 
    142       File.expects(:open).yields(f) 
    143       a = OldSchoolRenderer.render(:text, :file => "foo.text") 
    144       assert_equal "header\nbody\nfooter\n", f[0] 
    145        
    146       f = [] 
    147       File.expects(:open).with("blah","wb").yields(f) 
    148       VanillaRenderer.render(:bin, :file => "blah") 
    149     end 
    150   end 
     134    f = [] 
     135    File.expects(:open).yields(f) 
     136    a = OldSchoolRenderer.render(:text, :file => "foo.text") 
     137    assert_equal "header\nbody\nfooter\n", f[0] 
     138     
     139    f = [] 
     140    File.expects(:open).with("blah","wb").yields(f
     141    VanillaRenderer.render(:bin, :file => "blah")         
     142  end        
     143   
     144  def test_using_file_via_rendering_tools      
     145    f = [] 
     146    File.expects(:open).yields(f)   
     147    Table(%w[a b c], :data => [[1,2,3],[4,5,6]]).save_as("foo.csv")       
     148    assert_equal "a,b,c\n1,2,3\n4,5,6\n", f[0]   
     149  end 
     150     
    151151 
    152152  def test_formats