ruport 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS +4 -2
- data/README +4 -3
- data/Rakefile +1 -1
- data/lib/ruport.rb +1 -4
- data/lib/ruport/config.rb +6 -11
- data/lib/ruport/data/collection.rb +8 -2
- data/lib/ruport/data/groupable.rb +0 -2
- data/lib/ruport/data/record.rb +0 -13
- data/lib/ruport/data/set.rb +0 -8
- data/lib/ruport/data/table.rb +1 -18
- data/lib/ruport/data/taggable.rb +1 -6
- data/lib/ruport/format/latex.rb +5 -8
- data/lib/ruport/format/pdf.rb +56 -0
- data/lib/ruport/format/plugin.rb +5 -0
- data/lib/ruport/format/svg.rb +26 -4
- data/lib/ruport/format/text.rb +25 -2
- data/lib/ruport/format/xml.rb +1 -1
- data/lib/ruport/generator.rb +1 -1
- data/lib/ruport/mailer.rb +1 -4
- data/lib/ruport/query.rb +0 -9
- data/lib/ruport/renderer.rb +15 -1
- data/lib/ruport/report.rb +5 -22
- data/test/test_mailer.rb +86 -24
- data/test/test_report.rb +72 -1
- data/test/test_table.rb +15 -0
- data/test/unit.log +7 -277
- metadata +34 -44
- data/lib/ruport.rb~ +0 -69
- data/lib/ruport/data.rb.rej +0 -5
- data/lib/ruport/data.rb~ +0 -1
- data/lib/ruport/data/record.rb~ +0 -236
- data/lib/ruport/data/table.rb.rej +0 -67
- data/lib/ruport/data/table.rb~ +0 -414
- data/test/test_query.rb.rej +0 -161
- data/test/test_query.rb~ +0 -337
- data/test/test_record.rb.rej +0 -46
- data/test/test_table.rb~ +0 -336
    
        data/AUTHORS
    CHANGED
    
    | @@ -35,9 +35,11 @@ Daniel Berger: | |
| 35 35 | 
             
            Marshall T. Vandegrift:
         | 
| 36 36 | 
             
             - Fixed a bug in Record's struct-like accessors (method_missing)
         | 
| 37 37 | 
             
             - Provided performance enhancements and tests for query.rb
         | 
| 38 | 
            +
             - Improved alignment for Text Tables.
         | 
| 38 39 |  | 
| 39 40 | 
             
            Stefan Mahlitz:
         | 
| 40 41 | 
             
             - Table#sort_rows_by
         | 
| 41 42 |  | 
| 42 | 
            -
             | 
| 43 | 
            -
             -  | 
| 43 | 
            +
            Mike Milner:
         | 
| 44 | 
            +
             - mock object for Mailer
         | 
| 45 | 
            +
             - mock objects for Report (#130)
         | 
    
        data/README
    CHANGED
    
    | @@ -109,14 +109,14 @@ | |
| 109 109 | 
             
            # up to date information.
         | 
| 110 110 | 
             
            #
         | 
| 111 111 | 
             
            # - You can sign up and/or view the archives here:
         | 
| 112 | 
            -
            # | 
| 112 | 
            +
            #     http://groups.google.com/group/ruby-reports
         | 
| 113 113 | 
             
            #
         | 
| 114 114 | 
             
            # Please do not hesitate to use this list!  I am happily accepting patches and
         | 
| 115 115 | 
             
            # documentation, as well as encouraging design discussions and also am quite
         | 
| 116 116 | 
             
            # curious about what people use or want to use ruport for.
         | 
| 117 117 | 
             
            #
         | 
| 118 118 | 
             
            # I will announce Ruport releases on RubyTalk, on the Ruport mailing list, on
         | 
| 119 | 
            -
            # Freshmeat, and  | 
| 119 | 
            +
            # Freshmeat, and RAA.  If you would like to
         | 
| 120 120 | 
             
            # keep an eye out for releases, please monitor one of those places.
         | 
| 121 121 | 
             
            #
         | 
| 122 122 | 
             
            #   - You may download Ruport's source from the project page:
         | 
| @@ -125,7 +125,8 @@ | |
| 125 125 | 
             
            #   - The latest stable API documentation is available at:
         | 
| 126 126 | 
             
            #     http://reporting.stonecode.org/docs
         | 
| 127 127 | 
             
            #
         | 
| 128 | 
            -
            # There also  | 
| 128 | 
            +
            # There are also some tutorial available:
         | 
| 129 | 
            +
            # http://stonecode.svnrepository.com/ruport/trac.cgi/wiki/TutorialsAndArticles
         | 
| 129 130 | 
             
            #
         | 
| 130 131 | 
             
            # If you are interested in developing Ruport, please *never* study code in
         | 
| 131 132 | 
             
            # official releases.  As this software is in it's early stages, it's essential
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -23,7 +23,7 @@ end | |
| 23 23 |  | 
| 24 24 | 
             
            spec = Gem::Specification.new do |spec|
         | 
| 25 25 | 
             
            	spec.name = LEAN ? "lean-ruport" : "ruport"
         | 
| 26 | 
            -
            	spec.version = "0.7. | 
| 26 | 
            +
            	spec.version = "0.7.2"
         | 
| 27 27 | 
             
            	spec.platform = Gem::Platform::RUBY
         | 
| 28 28 | 
             
            	spec.summary = "A generalized Ruby report generation and templating engine."
         | 
| 29 29 | 
             
            	spec.files =  Dir.glob("{examples,lib,test,bin}/**/**/*") +
         | 
    
        data/lib/ruport.rb
    CHANGED
    
    | @@ -9,12 +9,10 @@ | |
| 9 9 | 
             
            #
         | 
| 10 10 | 
             
            # See LICENSE and COPYING for details
         | 
| 11 11 | 
             
            #
         | 
| 12 | 
            -
             | 
| 13 12 | 
             
            module Ruport
         | 
| 14 13 |  | 
| 15 | 
            -
              VERSION = "0.7. | 
| 14 | 
            +
              VERSION = "0.7.2"
         | 
| 16 15 |  | 
| 17 | 
            -
              #
         | 
| 18 16 | 
             
              # This method is Ruport's logging and error interface. It can generate 
         | 
| 19 17 | 
             
              # warnings or raise fatal errors, logging +message+ to the file defined by 
         | 
| 20 18 | 
             
              # <tt>Config::log_file</tt>.
         | 
| @@ -54,7 +52,6 @@ module Ruport | |
| 54 52 | 
             
              # Alias for <tt>Ruport.log</tt>.
         | 
| 55 53 | 
             
              def self.complain(*args); Ruport.log(*args) end
         | 
| 56 54 |  | 
| 57 | 
            -
              #
         | 
| 58 55 | 
             
              # This method yields a <tt>Ruport::Config</tt> object, allowing you to 
         | 
| 59 56 | 
             
              # set the configuration options for your application.
         | 
| 60 57 | 
             
              #
         | 
    
        data/lib/ruport/config.rb
    CHANGED
    
    | @@ -11,7 +11,7 @@ | |
| 11 11 | 
             
            #
         | 
| 12 12 | 
             
            require "ostruct"
         | 
| 13 13 | 
             
            module Ruport
         | 
| 14 | 
            -
             | 
| 14 | 
            +
             | 
| 15 15 | 
             
              # === Overview
         | 
| 16 16 | 
             
              #
         | 
| 17 17 | 
             
              # This class serves as the configuration system for Ruport.
         | 
| @@ -29,7 +29,7 @@ module Ruport | |
| 29 29 | 
             
              #   Ruport.configure do |config|
         | 
| 30 30 | 
             
              #
         | 
| 31 31 | 
             
              #     config.log_file 'foo.log'
         | 
| 32 | 
            -
              #     config. | 
| 32 | 
            +
              #     config.debug_mode = true
         | 
| 33 33 | 
             
              #
         | 
| 34 34 | 
             
              #     config.source :default,
         | 
| 35 35 | 
             
              #                   :dsn => "dbi:mysql:somedb:db.blixy.org",
         | 
| @@ -69,7 +69,7 @@ module Ruport | |
| 69 69 | 
             
              #
         | 
| 70 70 | 
             
              module Config
         | 
| 71 71 | 
             
                module_function
         | 
| 72 | 
            -
                 | 
| 72 | 
            +
                
         | 
| 73 73 | 
             
                # :call-seq:
         | 
| 74 74 | 
             
                #   source(source_name, options)
         | 
| 75 75 | 
             
                #
         | 
| @@ -96,13 +96,12 @@ module Ruport | |
| 96 96 | 
             
                  check_source(sources[args.first],args.first)
         | 
| 97 97 | 
             
                end
         | 
| 98 98 |  | 
| 99 | 
            -
                # 
         | 
| 100 99 | 
             
                # :call-seq:
         | 
| 101 100 | 
             
                #   mailer(mailer_name, options)
         | 
| 102 101 | 
             
                #
         | 
| 103 102 | 
             
                # Creates or retrieves a mailer configuration. Available options:
         | 
| 104 103 | 
             
                # <b><tt>:host</tt></b>::         The SMTP host to use.
         | 
| 105 | 
            -
                # <b><tt>:address</tt></b>::       | 
| 104 | 
            +
                # <b><tt>:address</tt></b>::      Address the email is being sent from.
         | 
| 106 105 | 
             
                # <b><tt>:user</tt></b>::         The username to use on the SMTP server
         | 
| 107 106 | 
             
                # <b><tt>:password</tt></b>::     The password to use on the SMTP server. 
         | 
| 108 107 | 
             
                #                                 Optional.
         | 
| @@ -160,12 +159,7 @@ module Ruport | |
| 160 159 | 
             
                # Returns the currently active logger.
         | 
| 161 160 | 
             
                def logger; @logger; end
         | 
| 162 161 |  | 
| 163 | 
            -
                #  | 
| 164 | 
            -
                #    def enable_paranoia; @paranoid = true; end
         | 
| 165 | 
            -
             | 
| 166 | 
            -
                # Disables the printing of <tt>:log_only</tt> messages.
         | 
| 167 | 
            -
                #def disable_paranoia; @paranoid = false; end
         | 
| 168 | 
            -
             | 
| 162 | 
            +
                # returns true if in debug mode
         | 
| 169 163 | 
             
                def debug_mode?; !!@debug_mode; end
         | 
| 170 164 |  | 
| 171 165 | 
             
                # Verifies that you have provided a DSN for your source.
         | 
| @@ -190,6 +184,7 @@ module Ruport | |
| 190 184 | 
             
                  end
         | 
| 191 185 | 
             
                end
         | 
| 192 186 |  | 
| 187 | 
            +
                # forces messages with :level of :log_only to be printed
         | 
| 193 188 | 
             
                def debug_mode=(something)
         | 
| 194 189 | 
             
                  @debug_mode = !!something
         | 
| 195 190 | 
             
                end
         | 
| @@ -6,7 +6,6 @@ | |
| 6 6 |  | 
| 7 7 | 
             
            module Ruport::Data
         | 
| 8 8 |  | 
| 9 | 
            -
              #
         | 
| 10 9 | 
             
              # === Overview
         | 
| 11 10 | 
             
              #
         | 
| 12 11 | 
             
              # This is the base class for Ruport's Data structures. It mixes in the 
         | 
| @@ -26,8 +25,14 @@ module Ruport::Data | |
| 26 25 | 
             
                # A simple formatting tool which allows you to quickly generate a formatted
         | 
| 27 26 | 
             
                # table from a <tt>Collection</tt> object.
         | 
| 28 27 | 
             
                #
         | 
| 29 | 
            -
                #  | 
| 28 | 
            +
                # If given a block, the Renderer::Table object will be yielded
         | 
| 29 | 
            +
                #
         | 
| 30 | 
            +
                #
         | 
| 31 | 
            +
                # Examples:
         | 
| 32 | 
            +
                #
         | 
| 30 33 | 
             
                #   my_collection.as(:csv)  #=> "1,2,3\n4,5,6"
         | 
| 34 | 
            +
                #
         | 
| 35 | 
            +
                #   my_collection.as(:csv) { |e| e.layout.show_table_headers = false }
         | 
| 31 36 | 
             
                def as(type)
         | 
| 32 37 | 
             
                  Ruport::Renderer::Table.render(type) do |rend|
         | 
| 33 38 | 
             
                    rend.data = self
         | 
| @@ -47,6 +52,7 @@ module Ruport::Data | |
| 47 52 |  | 
| 48 53 | 
             
                # Provides a shortcut for the <tt>as()</tt> method by converting a call to
         | 
| 49 54 | 
             
                # <tt>as(:format_name)</tt> into a call to <tt>to_format_name</tt>
         | 
| 55 | 
            +
                # 
         | 
| 50 56 | 
             
                def method_missing(id,*args)
         | 
| 51 57 | 
             
                 return as($1.to_sym) if id.to_s =~ /^to_(.*)/ 
         | 
| 52 58 | 
             
                 super
         | 
| @@ -8,7 +8,6 @@ module Ruport::Data | |
| 8 8 | 
             
              #
         | 
| 9 9 | 
             
              module Groupable
         | 
| 10 10 |  | 
| 11 | 
            -
                #
         | 
| 12 11 | 
             
                # Creates a <tt>Record</tt> made up of <tt>Table</tt>s containing all the
         | 
| 13 12 | 
             
                # records in the original table with the same tag. 
         | 
| 14 13 | 
             
                #
         | 
| @@ -54,7 +53,6 @@ module Ruport::Data | |
| 54 53 | 
             
                  end; r
         | 
| 55 54 | 
             
                end
         | 
| 56 55 |  | 
| 57 | 
            -
                #
         | 
| 58 56 | 
             
                # Tags each row of the <tt>Table</tt> for which the <tt>block</tt> is not 
         | 
| 59 57 | 
             
                # false with <tt>label</tt>.
         | 
| 60 58 | 
             
                # 
         | 
    
        data/lib/ruport/data/record.rb
    CHANGED
    
    | @@ -5,7 +5,6 @@ | |
| 5 5 | 
             
            # Copyright 2006 by respective content owners, all rights reserved.
         | 
| 6 6 | 
             
            module Ruport::Data
         | 
| 7 7 |  | 
| 8 | 
            -
              #
         | 
| 9 8 | 
             
              # === Overview
         | 
| 10 9 | 
             
              # 
         | 
| 11 10 | 
             
              # Data::Records are the work horse of Ruport's data model. These can behave
         | 
| @@ -18,7 +17,6 @@ module Ruport::Data | |
| 18 17 | 
             
                include Enumerable
         | 
| 19 18 | 
             
                include Taggable
         | 
| 20 19 |  | 
| 21 | 
            -
                # 
         | 
| 22 20 | 
             
                # Creates a new Record object.  If the <tt>:attributes</tt> 
         | 
| 23 21 | 
             
                # keyword is specified, Hash-like and Struct-like 
         | 
| 24 22 | 
             
                # access will be enabled.  Otherwise, Record elements may be 
         | 
| @@ -64,7 +62,6 @@ module Ruport::Data | |
| 64 62 |  | 
| 65 63 | 
             
                def_delegators :@data,:each, :length
         | 
| 66 64 |  | 
| 67 | 
            -
                #
         | 
| 68 65 | 
             
                # Allows either Array or Hash-like indexing.
         | 
| 69 66 | 
             
                #
         | 
| 70 67 | 
             
                # Examples:
         | 
| @@ -83,8 +80,6 @@ module Ruport::Data | |
| 83 80 | 
             
                  end
         | 
| 84 81 | 
             
                end
         | 
| 85 82 |  | 
| 86 | 
            -
             | 
| 87 | 
            -
                # 
         | 
| 88 83 | 
             
                # Allows setting a <tt>value</tt> at an <tt>index</tt>.
         | 
| 89 84 | 
             
                # 
         | 
| 90 85 | 
             
                # Examples:
         | 
| @@ -103,7 +98,6 @@ module Ruport::Data | |
| 103 98 | 
             
                  end
         | 
| 104 99 | 
             
                end
         | 
| 105 100 |  | 
| 106 | 
            -
                #
         | 
| 107 101 | 
             
                # If <tt>attributes</tt> and <tt>data</tt> are equivalent, then 
         | 
| 108 102 | 
             
                # <tt>==</tt> evaluates to true. Otherwise, <tt>==</tt> returns false.
         | 
| 109 103 | 
             
                #
         | 
| @@ -115,7 +109,6 @@ module Ruport::Data | |
| 115 109 |  | 
| 116 110 | 
             
                alias_method :eql?, :==
         | 
| 117 111 |  | 
| 118 | 
            -
                #
         | 
| 119 112 | 
             
                # Converts a Record into an Array.
         | 
| 120 113 | 
             
                #
         | 
| 121 114 | 
             
                # Example:
         | 
| @@ -125,7 +118,6 @@ module Ruport::Data | |
| 125 118 | 
             
                #
         | 
| 126 119 | 
             
                def to_a; @data.dup; end
         | 
| 127 120 |  | 
| 128 | 
            -
                #
         | 
| 129 121 | 
             
                # Converts a Record into a Hash. This only works if <tt>attributes</tt> 
         | 
| 130 122 | 
             
                # are specified in the Record.
         | 
| 131 123 | 
             
                #
         | 
| @@ -135,7 +127,6 @@ module Ruport::Data | |
| 135 127 | 
             
                #   a.to_h #=> {"a" => 1, "b" => 2}
         | 
| 136 128 | 
             
                def to_h; Hash[*@attributes.zip(data).flatten] end
         | 
| 137 129 |  | 
| 138 | 
            -
                #
         | 
| 139 130 | 
             
                # Returns a copy of the <tt>attributes</tt> from this Record.
         | 
| 140 131 | 
             
                #
         | 
| 141 132 | 
             
                # Example:
         | 
| @@ -145,7 +136,6 @@ module Ruport::Data | |
| 145 136 | 
             
                #
         | 
| 146 137 | 
             
                def attributes; @attributes.map { |a| a.to_s }; end
         | 
| 147 138 |  | 
| 148 | 
            -
                #
         | 
| 149 139 | 
             
                # Sets the <tt>attribute</tt> list for this Record.
         | 
| 150 140 | 
             
                #
         | 
| 151 141 | 
             
                # Example:
         | 
| @@ -154,7 +144,6 @@ module Ruport::Data | |
| 154 144 | 
             
                #
         | 
| 155 145 | 
             
                attr_writer :attributes
         | 
| 156 146 |  | 
| 157 | 
            -
                #
         | 
| 158 147 | 
             
                # Allows you to change the order of or reduce the number of columns in a
         | 
| 159 148 | 
             
                # Record.  
         | 
| 160 149 | 
             
                #
         | 
| @@ -202,7 +191,6 @@ module Ruport::Data | |
| 202 191 | 
             
                #FIXME: This does not take into account frozen / tainted state
         | 
| 203 192 | 
             
                alias_method :clone, :dup
         | 
| 204 193 |  | 
| 205 | 
            -
                #
         | 
| 206 194 | 
             
                # Provides a unique hash value. If a Record contains the same data and
         | 
| 207 195 | 
             
                # attributes as another Record, they will hash to the same value, even if
         | 
| 208 196 | 
             
                # they are not the same object. This is similar to the way Array works, 
         | 
| @@ -212,7 +200,6 @@ module Ruport::Data | |
| 212 200 | 
             
                  (attributes.to_a + data.to_a).hash
         | 
| 213 201 | 
             
                end
         | 
| 214 202 |  | 
| 215 | 
            -
                #
         | 
| 216 203 | 
             
                # Provides accessor style methods for attribute access.
         | 
| 217 204 | 
             
                #
         | 
| 218 205 | 
             
                # Example:
         | 
    
        data/lib/ruport/data/set.rb
    CHANGED
    
    | @@ -7,7 +7,6 @@ require 'set' | |
| 7 7 |  | 
| 8 8 | 
             
            module Ruport::Data
         | 
| 9 9 |  | 
| 10 | 
            -
              #
         | 
| 11 10 | 
             
              # === Overview
         | 
| 12 11 | 
             
              #
         | 
| 13 12 | 
             
              # This class is one of the core classes for building and working with data 
         | 
| @@ -23,7 +22,6 @@ module Ruport::Data | |
| 23 22 | 
             
              #
         | 
| 24 23 | 
             
              class Set < Collection
         | 
| 25 24 |  | 
| 26 | 
            -
                #
         | 
| 27 25 | 
             
                # Creates a new Set containing the elements of <tt>options[:data]</tt>.
         | 
| 28 26 | 
             
                #
         | 
| 29 27 | 
             
                # Example:
         | 
| @@ -35,7 +33,6 @@ module Ruport::Data | |
| 35 33 | 
             
                  options[:data].each {|e| self << e} if options[:data]
         | 
| 36 34 | 
             
                end
         | 
| 37 35 |  | 
| 38 | 
            -
                #
         | 
| 39 36 | 
             
                # Adds the given object to the Set and returns self. 
         | 
| 40 37 | 
             
                #
         | 
| 41 38 | 
             
                # Example:
         | 
| @@ -54,7 +51,6 @@ module Ruport::Data | |
| 54 51 | 
             
                end
         | 
| 55 52 | 
             
                alias_method :<<, :add
         | 
| 56 53 |  | 
| 57 | 
            -
                #
         | 
| 58 54 | 
             
                # Produces a shallow copy of the Set: the same data elements are 
         | 
| 59 55 | 
             
                # referenced by both the old and new Sets.
         | 
| 60 56 | 
             
                #
         | 
| @@ -73,7 +69,6 @@ module Ruport::Data | |
| 73 69 | 
             
                end
         | 
| 74 70 | 
             
                alias_method :clone, :dup
         | 
| 75 71 |  | 
| 76 | 
            -
                #
         | 
| 77 72 | 
             
                # Two Sets are equal if they contain the same set of objects.
         | 
| 78 73 | 
             
                # 
         | 
| 79 74 | 
             
                # Example:
         | 
| @@ -102,7 +97,6 @@ module Ruport::Data | |
| 102 97 | 
             
                alias_method :union, :|
         | 
| 103 98 | 
             
                alias_method :+, :|
         | 
| 104 99 |  | 
| 105 | 
            -
                #
         | 
| 106 100 | 
             
                # Returns a new Set containing the objects common to the two Sets.
         | 
| 107 101 | 
             
                #
         | 
| 108 102 | 
             
                # Example:
         | 
| @@ -118,7 +112,6 @@ module Ruport::Data | |
| 118 112 | 
             
                end
         | 
| 119 113 | 
             
                alias_method :intersection, :&
         | 
| 120 114 |  | 
| 121 | 
            -
                #
         | 
| 122 115 | 
             
                # Returns a new Set containing those objects present in this Set but not 
         | 
| 123 116 | 
             
                # the other.
         | 
| 124 117 | 
             
                #
         | 
| @@ -135,7 +128,6 @@ module Ruport::Data | |
| 135 128 | 
             
                end
         | 
| 136 129 | 
             
                alias_method :difference, :-
         | 
| 137 130 |  | 
| 138 | 
            -
                #
         | 
| 139 131 | 
             
                # Returns a new Set containing those objects that are either in this Set 
         | 
| 140 132 | 
             
                # or the other Set but not in both.
         | 
| 141 133 | 
             
                #
         | 
    
        data/lib/ruport/data/table.rb
    CHANGED
    
    | @@ -7,7 +7,6 @@ | |
| 7 7 |  | 
| 8 8 | 
             
            module Ruport::Data
         | 
| 9 9 |  | 
| 10 | 
            -
              # 
         | 
| 11 10 | 
             
              # === Overview
         | 
| 12 11 | 
             
              #
         | 
| 13 12 | 
             
              # This class is one of the core classes for building and working with data 
         | 
| @@ -24,7 +23,6 @@ module Ruport::Data | |
| 24 23 | 
             
              class Table < Collection
         | 
| 25 24 | 
             
                include Groupable
         | 
| 26 25 |  | 
| 27 | 
            -
                #
         | 
| 28 26 | 
             
                # Creates a new table based on the supplied options.
         | 
| 29 27 | 
             
                # Valid options: 
         | 
| 30 28 | 
             
                # <b><tt>:data</tt></b>::         An Array of Arrays representing the 
         | 
| @@ -41,7 +39,7 @@ module Ruport::Data | |
| 41 39 | 
             
                  @data         = []
         | 
| 42 40 | 
             
                  if options[:data]
         | 
| 43 41 | 
             
                    if options[:data].all? { |r| r.kind_of? Record }
         | 
| 44 | 
            -
                      record_tags = options[:data].map { |r| r.tags }
         | 
| 42 | 
            +
                      record_tags = options[:data].map { |r| r.tags.dup }
         | 
| 45 43 | 
             
                      options[:data] = options[:data].map { |r| r.to_a } 
         | 
| 46 44 | 
             
                    end 
         | 
| 47 45 | 
             
                    options[:data].each { |e| self << e }  
         | 
| @@ -53,7 +51,6 @@ module Ruport::Data | |
| 53 51 | 
             
                attr_reader :column_names
         | 
| 54 52 | 
             
                def_delegator :@data, :[]
         | 
| 55 53 |  | 
| 56 | 
            -
                #
         | 
| 57 54 | 
             
                # Sets the column names for this table. <tt>new_column_names</tt> should 
         | 
| 58 55 | 
             
                # be an array listing the names of the columns.
         | 
| 59 56 | 
             
                #
         | 
| @@ -68,7 +65,6 @@ module Ruport::Data | |
| 68 65 | 
             
                  @column_names.replace(new_column_names.dup)
         | 
| 69 66 | 
             
                end
         | 
| 70 67 |  | 
| 71 | 
            -
                #
         | 
| 72 68 | 
             
                # Compares this Table to another Table and returns <tt>true</tt> if
         | 
| 73 69 | 
             
                # both the <tt>data</tt> and <tt>column_names</tt> are equal.
         | 
| 74 70 | 
             
                #
         | 
| @@ -88,7 +84,6 @@ module Ruport::Data | |
| 88 84 |  | 
| 89 85 | 
             
                alias_method :==, :eql?
         | 
| 90 86 |  | 
| 91 | 
            -
                #
         | 
| 92 87 | 
             
                # Uses Ruport's built-in text plugin to render this Table into a String
         | 
| 93 88 | 
             
                # 
         | 
| 94 89 | 
             
                # Example:
         | 
| @@ -101,7 +96,6 @@ module Ruport::Data | |
| 101 96 | 
             
                  as(:text)
         | 
| 102 97 | 
             
                end
         | 
| 103 98 |  | 
| 104 | 
            -
                #
         | 
| 105 99 | 
             
                # Used to add extra data to the Table. <tt>other</tt> can be an Array, 
         | 
| 106 100 | 
             
                # Hash or Record.
         | 
| 107 101 | 
             
                #
         | 
| @@ -131,7 +125,6 @@ module Ruport::Data | |
| 131 125 | 
             
                  self
         | 
| 132 126 | 
             
                end
         | 
| 133 127 |  | 
| 134 | 
            -
                #
         | 
| 135 128 | 
             
                # Used to combine two Tables. Throws an ArgumentError if the Tables don't
         | 
| 136 129 | 
             
                # have identical columns.
         | 
| 137 130 | 
             
                #
         | 
| @@ -151,7 +144,6 @@ module Ruport::Data | |
| 151 144 | 
             
                  Table.new(:column_names => @column_names, :data => @data + other.data)
         | 
| 152 145 | 
             
                end
         | 
| 153 146 |  | 
| 154 | 
            -
                #
         | 
| 155 147 | 
             
                # Reorders the columns that exist in the Table. Modifies this Table 
         | 
| 156 148 | 
             
                # in-place.
         | 
| 157 149 | 
             
                #
         | 
| @@ -179,7 +171,6 @@ module Ruport::Data | |
| 179 171 | 
             
                  }; self
         | 
| 180 172 | 
             
                end
         | 
| 181 173 |  | 
| 182 | 
            -
                #
         | 
| 183 174 | 
             
                # Returns a copy of the Table with its columns in the requested order.
         | 
| 184 175 | 
             
                #
         | 
| 185 176 | 
             
                # Example:
         | 
| @@ -193,7 +184,6 @@ module Ruport::Data | |
| 193 184 | 
             
                  dup.reorder!(*indices)
         | 
| 194 185 | 
             
                end
         | 
| 195 186 |  | 
| 196 | 
            -
                #
         | 
| 197 187 | 
             
                # Adds an extra column to the Table. Available Options:
         | 
| 198 188 | 
             
                #
         | 
| 199 189 | 
             
                # <b><tt>:name</tt></b>:: The new column's name (required)
         | 
| @@ -216,7 +206,6 @@ module Ruport::Data | |
| 216 206 | 
             
                  end; self
         | 
| 217 207 | 
             
                end
         | 
| 218 208 |  | 
| 219 | 
            -
                # 
         | 
| 220 209 | 
             
                # Removes a column from the Table. Any values in the specified column are
         | 
| 221 210 | 
             
                # lost.
         | 
| 222 211 | 
             
                #
         | 
| @@ -244,7 +233,6 @@ module Ruport::Data | |
| 244 233 | 
             
                  reorder! column_names - [name]
         | 
| 245 234 | 
             
                end
         | 
| 246 235 |  | 
| 247 | 
            -
                #
         | 
| 248 236 | 
             
                # Create a copy of the Table: records will be copied as well.
         | 
| 249 237 | 
             
                #
         | 
| 250 238 | 
             
                # Example:
         | 
| @@ -259,7 +247,6 @@ module Ruport::Data | |
| 259 247 | 
             
                  return a
         | 
| 260 248 | 
             
                end
         | 
| 261 249 |  | 
| 262 | 
            -
                #
         | 
| 263 250 | 
             
                # Loads a CSV file directly into a Table using the FasterCSV library.
         | 
| 264 251 | 
             
                #
         | 
| 265 252 | 
             
                # Example:
         | 
| @@ -277,7 +264,6 @@ module Ruport::Data | |
| 277 264 | 
             
                    get_table_from_csv(:foreach, csv_file, options,&block)
         | 
| 278 265 | 
             
                end
         | 
| 279 266 |  | 
| 280 | 
            -
                #
         | 
| 281 267 | 
             
                # Creates a Table from a CSV string using FasterCSV.  See Table.load for
         | 
| 282 268 | 
             
                # additional examples.
         | 
| 283 269 | 
             
                #
         | 
| @@ -306,7 +292,6 @@ module Ruport::Data | |
| 306 292 | 
             
                  end ; loaded_data
         | 
| 307 293 | 
             
                end
         | 
| 308 294 |  | 
| 309 | 
            -
                # 
         | 
| 310 295 | 
             
                # Allows you to split Tables into multiple Tables for grouping.
         | 
| 311 296 | 
             
                #
         | 
| 312 297 | 
             
                # Example:
         | 
| @@ -369,7 +354,6 @@ module Ruport::Data | |
| 369 354 | 
             
                  end; rec
         | 
| 370 355 | 
             
                end
         | 
| 371 356 |  | 
| 372 | 
            -
                # 
         | 
| 373 357 | 
             
                # Calculates sums. If a column name or index is given, it will try to
         | 
| 374 358 | 
             
                # convert each element of that column to an integer or float 
         | 
| 375 359 | 
             
                # and add them together.
         | 
| @@ -401,7 +385,6 @@ module Ruport::Data | |
| 401 385 |  | 
| 402 386 | 
             
                alias_method :sum, :sigma
         | 
| 403 387 |  | 
| 404 | 
            -
                #
         | 
| 405 388 | 
             
                # Returns a sorted table. If col_names is specified, 
         | 
| 406 389 | 
             
                # the block is ignored and the table is sorted by the named columns. All
         | 
| 407 390 | 
             
                # options are used in constructing the new Table (see Array#to_table
         |