beardley 1.3.0 → 1.4.1
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.
- checksums.yaml +4 -4
- data/lib/beardley.rb +21 -22
- data/lib/beardley/report.rb +51 -50
- data/lib/beardley/version.rb +4 -4
- metadata +17 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2f58f515d166e39603ec3f4728ec495dfc01d7fe
         | 
| 4 | 
            +
              data.tar.gz: a4a30e2b36d687576a5b5b6cc14d20d8bda182ef
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f6b12e641c0392c07aab5cae431909070cce792cfaf564e0d8690a9e07609267a5d705d096a2fa5c588a8aa796f2ec5e1d68265352fcff3eb850c5f1868532bb
         | 
| 7 | 
            +
              data.tar.gz: f3a7b78287225a60b9a24ca638841a5ae0c4b56e0400e5f71902d4847b9dbef51f9e5397947f57f2aa9401eb6d332007016508d79e46aa9f08e05de4b1d9755c
         | 
    
        data/lib/beardley.rb
    CHANGED
    
    | @@ -21,31 +21,29 @@ | |
| 21 21 | 
             
            # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
         | 
| 22 22 | 
             
            # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         | 
| 23 23 |  | 
| 24 | 
            -
            require  | 
| 25 | 
            -
            require  | 
| 26 | 
            -
            require  | 
| 27 | 
            -
            require  | 
| 28 | 
            -
            require  | 
| 29 | 
            -
             | 
| 24 | 
            +
            require 'beardley/version'
         | 
| 25 | 
            +
            require 'pathname'
         | 
| 26 | 
            +
            require 'digest'
         | 
| 27 | 
            +
            require 'rjb'
         | 
| 28 | 
            +
            require 'rjb-loader' if ENV['DISABLED_JAVA'].to_i.zero?
         | 
| 30 29 |  | 
| 31 30 | 
             
            module Beardley
         | 
| 32 | 
            -
             | 
| 33 31 | 
             
              class << self
         | 
| 34 32 | 
             
                attr_accessor :config, :exporters
         | 
| 35 33 |  | 
| 36 34 | 
             
                # Changes the level of verbosity
         | 
| 37 35 | 
             
                def with_warnings(flag = nil)
         | 
| 38 | 
            -
                  old_verbose | 
| 36 | 
            +
                  old_verbose = $VERBOSE
         | 
| 37 | 
            +
                  $VERBOSE = flag
         | 
| 39 38 | 
             
                  yield
         | 
| 40 39 | 
             
                ensure
         | 
| 41 40 | 
             
                  $VERBOSE = old_verbose
         | 
| 42 41 | 
             
                end
         | 
| 43 | 
            -
                
         | 
| 44 42 | 
             
              end
         | 
| 45 43 |  | 
| 46 44 | 
             
              # Default report params
         | 
| 47 45 | 
             
              self.config = {
         | 
| 48 | 
            -
                report_params: {} | 
| 46 | 
            +
                report_params: {}
         | 
| 49 47 | 
             
              }
         | 
| 50 48 | 
             
              self.exporters = {
         | 
| 51 49 | 
             
                odt: 'net.sf.jasperreports.engine.export.oasis.JROdtExporter',
         | 
| @@ -54,21 +52,22 @@ module Beardley | |
| 54 52 | 
             
                docx: 'net.sf.jasperreports.engine.export.ooxml.JRDocxExporter',
         | 
| 55 53 | 
             
                xlsx: 'net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter'
         | 
| 56 54 | 
             
              }
         | 
| 57 | 
            -
             | 
| 58 | 
            -
               | 
| 59 | 
            -
                 | 
| 60 | 
            -
                   | 
| 55 | 
            +
             | 
| 56 | 
            +
              if ENV['DISABLED_JAVA'].to_i.zero?
         | 
| 57 | 
            +
                RjbLoader.before_load do |config|
         | 
| 58 | 
            +
                  Dir[Pathname.new(__FILE__).dirname.join('..', 'vendor', 'java', '*.jar')].each do |path|
         | 
| 59 | 
            +
                    config.classpath << File::PATH_SEPARATOR + File.expand_path(path)
         | 
| 60 | 
            +
                  end
         | 
| 61 61 | 
             
                end
         | 
| 62 | 
            -
              end
         | 
| 63 62 |  | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 63 | 
            +
                RjbLoader.after_load do |_config|
         | 
| 64 | 
            +
                  _Locale = Rjb.import('java.util.Locale')
         | 
| 65 | 
            +
                  Beardley.config[:report_params]['REPORT_LOCALE']    = _Locale.new('en', 'US')
         | 
| 66 | 
            +
                  Beardley.config[:report_params]['XML_LOCALE']       = _Locale.new('en', 'US')
         | 
| 67 | 
            +
                  Beardley.config[:report_params]['XML_DATE_PATTERN'] = "yyyy-MM-dd'T'HH:mm:ss"
         | 
| 68 | 
            +
                  Beardley.config[:report_params]['XML_NUMBER_PATTERN'] = '###0.00'
         | 
| 69 | 
            +
                end
         | 
| 70 70 | 
             
              end
         | 
| 71 71 |  | 
| 72 72 | 
             
              autoload :Report, 'beardley/report'
         | 
| 73 | 
            -
             | 
| 74 73 | 
             
            end
         | 
    
        data/lib/beardley/report.rb
    CHANGED
    
    | @@ -22,33 +22,33 @@ | |
| 22 22 | 
             
            # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         | 
| 23 23 |  | 
| 24 24 | 
             
            module Beardley
         | 
| 25 | 
            -
             | 
| 26 25 | 
             
              # This class permit to produce reports in PDF, ODT and DOCX using Jasper
         | 
| 27 26 | 
             
              class Report
         | 
| 28 27 | 
             
                attr_reader :source_file, :object_file
         | 
| 29 | 
            -
             | 
| 28 | 
            +
             | 
| 30 29 | 
             
                # Constructor for a report generator
         | 
| 31 30 | 
             
                def initialize(report, options = {})
         | 
| 32 31 | 
             
                  @parameters = options.delete(:report) || {}
         | 
| 33 | 
            -
                  @source_file | 
| 32 | 
            +
                  @source_file = nil
         | 
| 33 | 
            +
                  @object_file = nil
         | 
| 34 34 | 
             
                  if report.is_a?(Pathname)
         | 
| 35 | 
            -
                    @source_file = report if report.extname. | 
| 36 | 
            -
                    @object_file = report if report.extname. | 
| 35 | 
            +
                    @source_file = report if report.extname.casecmp('.jrxml').zero? || report.extname.casecmp('.xml').zero?
         | 
| 36 | 
            +
                    @object_file = report if report.extname.casecmp('.jasper').zero?
         | 
| 37 37 | 
             
                  elsif report.is_a?(String)
         | 
| 38 38 | 
             
                    hash = Digest::SHA256.hexdigest(report)
         | 
| 39 | 
            -
                    @source_file = Pathname.new(options[:tmp_dir] ||  | 
| 39 | 
            +
                    @source_file = Pathname.new(options[:tmp_dir] || '/tmp').join('report-' + hash + '.jrxml')
         | 
| 40 40 | 
             
                    File.open(@source_file, 'wb') do |f|
         | 
| 41 41 | 
             
                      f.write(report)
         | 
| 42 42 | 
             
                    end
         | 
| 43 43 | 
             
                  end
         | 
| 44 44 | 
             
                  if locale = options.delete(:locale)
         | 
| 45 | 
            -
                    locale_parts = locale.split( | 
| 46 | 
            -
                    _Locale = Rjb | 
| 47 | 
            -
                    @parameters[ | 
| 45 | 
            +
                    locale_parts = locale.split('-')[0..2]
         | 
| 46 | 
            +
                    _Locale = Rjb.import('java.util.Locale')
         | 
| 47 | 
            +
                    @parameters['REPORT_LOCALE'] = _Locale.new(*locale_parts)
         | 
| 48 48 | 
             
                  end
         | 
| 49 | 
            -
                  @object_file ||= @source_file.dirname.join(@source_file.basename.to_s +  | 
| 49 | 
            +
                  @object_file ||= @source_file.dirname.join(@source_file.basename.to_s + '.jasper')
         | 
| 50 50 | 
             
                  unless @object_file.is_a?(Pathname)
         | 
| 51 | 
            -
                    raise ArgumentError,  | 
| 51 | 
            +
                    raise ArgumentError, 'An object must be given at least'
         | 
| 52 52 | 
             
                  end
         | 
| 53 53 | 
             
                end
         | 
| 54 54 |  | 
| @@ -56,34 +56,34 @@ module Beardley | |
| 56 56 | 
             
                def to_pdf(*args)
         | 
| 57 57 | 
             
                  options = extract_options!(args)
         | 
| 58 58 | 
             
                  datasource = args[0]
         | 
| 59 | 
            -
                  _JasperPrint                 = Rjb | 
| 60 | 
            -
                  _JasperExportManager         = Rjb | 
| 61 | 
            -
                   | 
| 59 | 
            +
                  _JasperPrint                 = Rjb.import('net.sf.jasperreports.engine.JasperPrint')
         | 
| 60 | 
            +
                  _JasperExportManager         = Rjb.import('net.sf.jasperreports.engine.JasperExportManager')
         | 
| 61 | 
            +
                  _JasperExportManager._invoke('exportReportToPdf', 'Lnet.sf.jasperreports.engine.JasperPrint;', prepare(datasource))
         | 
| 62 62 | 
             
                end
         | 
| 63 63 |  | 
| 64 64 | 
             
                # Export report to ODT with given datasource
         | 
| 65 65 | 
             
                def to_odt(*args)
         | 
| 66 | 
            -
                   | 
| 66 | 
            +
                  to(:odt, *args)
         | 
| 67 67 | 
             
                end
         | 
| 68 68 |  | 
| 69 69 | 
             
                # Export report to ODS with given datasource
         | 
| 70 70 | 
             
                def to_ods(*args)
         | 
| 71 | 
            -
                   | 
| 71 | 
            +
                  to(:ods, *args)
         | 
| 72 72 | 
             
                end
         | 
| 73 73 |  | 
| 74 74 | 
             
                # Export report to CSV with given datasource
         | 
| 75 75 | 
             
                def to_csv(*args)
         | 
| 76 | 
            -
                   | 
| 76 | 
            +
                  to(:csv, *args)
         | 
| 77 77 | 
             
                end
         | 
| 78 78 |  | 
| 79 79 | 
             
                # Export report to DOCX with given datasource
         | 
| 80 80 | 
             
                def to_docx(*args)
         | 
| 81 | 
            -
                   | 
| 81 | 
            +
                  to(:docx, *args)
         | 
| 82 82 | 
             
                end
         | 
| 83 83 |  | 
| 84 84 | 
             
                # Export report to XLSX with given datasource
         | 
| 85 85 | 
             
                def to_xlsx(*args)
         | 
| 86 | 
            -
                   | 
| 86 | 
            +
                  to(:xlsx, *args)
         | 
| 87 87 | 
             
                end
         | 
| 88 88 |  | 
| 89 89 | 
             
                # Generic method to export to some format like ODT and DOCX as file in the given place
         | 
| @@ -92,21 +92,27 @@ module Beardley | |
| 92 92 | 
             
                  datasource = args[0]
         | 
| 93 93 | 
             
                  path = options[:path] || File.join(Dir.tmpdir, "beardley_#{Time.now.to_i.to_s(36)}_#{rand(100_000_000_000).to_s(36)}.#{format}")
         | 
| 94 94 | 
             
                  if format == :pdf
         | 
| 95 | 
            -
                    _JasperPrint                 = Rjb | 
| 96 | 
            -
                    _JasperExportManager         = Rjb | 
| 97 | 
            -
                    _JasperExportManager._invoke('exportReportToPdfFile', 'Lnet.sf.jasperreports.engine.JasperPrint;Ljava.lang.String;', prepare(datasource), Rjb | 
| 95 | 
            +
                    _JasperPrint                 = Rjb.import('net.sf.jasperreports.engine.JasperPrint')
         | 
| 96 | 
            +
                    _JasperExportManager         = Rjb.import('net.sf.jasperreports.engine.JasperExportManager')
         | 
| 97 | 
            +
                    _JasperExportManager._invoke('exportReportToPdfFile', 'Lnet.sf.jasperreports.engine.JasperPrint;Ljava.lang.String;', prepare(datasource), Rjb.import('java.lang.String').new(path.to_s))
         | 
| 98 98 | 
             
                  elsif Beardley.exporters[format]
         | 
| 99 | 
            -
                    exporter = Beardley.with_warnings { Rjb | 
| 100 | 
            -
                    _JRExporterParameter = Rjb | 
| 99 | 
            +
                    exporter = Beardley.with_warnings { Rjb.import(Beardley.exporters[format]) }.new
         | 
| 100 | 
            +
                    _JRExporterParameter = Rjb.import('net.sf.jasperreports.engine.JRExporterParameter')
         | 
| 101 101 | 
             
                    exporter.setParameter(_JRExporterParameter.JASPER_PRINT, prepare(datasource))
         | 
| 102 102 | 
             
                    exporter.setParameter(_JRExporterParameter.OUTPUT_FILE_NAME, path.to_s)
         | 
| 103 103 | 
             
                    exporter.exportReport
         | 
| 104 104 | 
             
                  else
         | 
| 105 105 | 
             
                    raise "Invalid export format: #{format.inspect}"
         | 
| 106 106 | 
             
                  end
         | 
| 107 | 
            -
                   | 
| 107 | 
            +
                  path
         | 
| 108 108 | 
             
                end
         | 
| 109 109 |  | 
| 110 | 
            +
                def compile(xml_path, compiled_path)
         | 
| 111 | 
            +
                  if File.exist?(xml_path)
         | 
| 112 | 
            +
                    _JasperCompileManager = Rjb.import('net.sf.jasperreports.engine.JasperCompileManager')
         | 
| 113 | 
            +
                    _JasperCompileManager.compileReportToFile(xml_path, compiled_path)
         | 
| 114 | 
            +
                  end
         | 
| 115 | 
            +
                end
         | 
| 110 116 |  | 
| 111 117 | 
             
                # XLS and RTF are not suitable anymore
         | 
| 112 118 | 
             
                # NOTE: JasperReports can not produce DOC files
         | 
| @@ -118,64 +124,63 @@ module Beardley | |
| 118 124 | 
             
                  options = extract_options!(args)
         | 
| 119 125 | 
             
                  datasource = args[0]
         | 
| 120 126 | 
             
                  file = Tempfile.new("to_#{format}")
         | 
| 121 | 
            -
                  exporter = Beardley.with_warnings { Rjb | 
| 122 | 
            -
                  _JRExporterParameter = Rjb | 
| 127 | 
            +
                  exporter = Beardley.with_warnings { Rjb.import(Beardley.exporters[format]) }.new
         | 
| 128 | 
            +
                  _JRExporterParameter = Rjb.import('net.sf.jasperreports.engine.JRExporterParameter')
         | 
| 123 129 | 
             
                  exporter.setParameter(_JRExporterParameter.JASPER_PRINT, prepare(datasource))
         | 
| 124 130 | 
             
                  exporter.setParameter(_JRExporterParameter.OUTPUT_FILE_NAME, file.path.to_s)
         | 
| 125 131 | 
             
                  exporter.exportReport
         | 
| 126 132 | 
             
                  file.rewind
         | 
| 127 133 | 
             
                  report = file.read
         | 
| 128 134 | 
             
                  file.close(true)
         | 
| 129 | 
            -
                   | 
| 135 | 
            +
                  report
         | 
| 130 136 | 
             
                end
         | 
| 131 137 |  | 
| 132 138 | 
             
                # Extract options from a list of arguments
         | 
| 133 139 | 
             
                def extract_options!(args)
         | 
| 134 | 
            -
                   | 
| 140 | 
            +
                  (args[-1].is_a?(Hash) ? args.delete_at(-1) : {})
         | 
| 135 141 | 
             
                end
         | 
| 136 142 |  | 
| 137 143 | 
             
                # Create object file if not exist and load datasource
         | 
| 138 144 | 
             
                def prepare(datasource = nil)
         | 
| 139 145 | 
             
                  # Compile it, if needed
         | 
| 140 146 | 
             
                  if @source_file && ((!@object_file.exist? && @source_file.exist?) || (@source_file.exist? && @source_file.mtime > @object_file.mtime))
         | 
| 141 | 
            -
                    _JasperCompileManager = Rjb | 
| 147 | 
            +
                    _JasperCompileManager = Rjb.import('net.sf.jasperreports.engine.JasperCompileManager')
         | 
| 142 148 | 
             
                    _JasperCompileManager.compileReportToFile(@source_file.to_s, @object_file.to_s)
         | 
| 143 149 | 
             
                  end
         | 
| 144 150 | 
             
                  load_datasource(datasource)
         | 
| 145 151 | 
             
                end
         | 
| 146 152 |  | 
| 147 | 
            -
             | 
| 148 153 | 
             
                # Build the default parameters Hash for printing
         | 
| 149 154 | 
             
                def prepare_params
         | 
| 150 | 
            -
                  _HashMap    = Rjb | 
| 151 | 
            -
                  _JavaString = Rjb | 
| 155 | 
            +
                  _HashMap    = Rjb.import('java.util.HashMap')
         | 
| 156 | 
            +
                  _JavaString = Rjb.import('java.lang.String')
         | 
| 152 157 |  | 
| 153 158 | 
             
                  # Converting default report params to java HashMap
         | 
| 154 159 | 
             
                  params = _HashMap.new
         | 
| 155 | 
            -
                  Beardley.config[:report_params].each do |k,v|
         | 
| 160 | 
            +
                  Beardley.config[:report_params].each do |k, v|
         | 
| 156 161 | 
             
                    params.put(k, v)
         | 
| 157 162 | 
             
                  end
         | 
| 158 | 
            -
             | 
| 163 | 
            +
             | 
| 159 164 | 
             
                  # Convert the ruby parameters' hash to a java HashMap, but keeps it as
         | 
| 160 165 | 
             
                  # default when they already represent a JRB entity.
         | 
| 161 166 | 
             
                  # Pay attention that, for now, all other parameters are converted to string!
         | 
| 162 167 | 
             
                  @parameters.each do |key, value|
         | 
| 163 168 | 
             
                    params.put(_JavaString.new(key.to_s), parameter_value_of(value))
         | 
| 164 169 | 
             
                  end
         | 
| 165 | 
            -
             | 
| 166 | 
            -
                   | 
| 170 | 
            +
             | 
| 171 | 
            +
                  params
         | 
| 167 172 | 
             
                end
         | 
| 168 173 |  | 
| 169 174 | 
             
                # Load parseable XML datasource with java component
         | 
| 170 175 | 
             
                def load_datasource(datasource = nil)
         | 
| 171 176 | 
             
                  jasper_params = prepare_params
         | 
| 172 177 |  | 
| 173 | 
            -
                  # Parse and load XML as datasource | 
| 178 | 
            +
                  # Parse and load XML as datasource
         | 
| 174 179 | 
             
                  if datasource
         | 
| 175 | 
            -
                    _InputSource                 = Rjb | 
| 176 | 
            -
                    _StringReader                = Rjb | 
| 177 | 
            -
                    _JRXmlUtils                  = Rjb | 
| 178 | 
            -
                    _JRXPathQueryExecuterFactory = Beardley.with_warnings { Rjb | 
| 180 | 
            +
                    _InputSource                 = Rjb.import('org.xml.sax.InputSource')
         | 
| 181 | 
            +
                    _StringReader                = Rjb.import('java.io.StringReader')
         | 
| 182 | 
            +
                    _JRXmlUtils                  = Rjb.import('net.sf.jasperreports.engine.util.JRXmlUtils')
         | 
| 183 | 
            +
                    _JRXPathQueryExecuterFactory = Beardley.with_warnings { Rjb.import('net.sf.jasperreports.engine.query.JRXPathQueryExecuterFactory') }
         | 
| 179 184 | 
             
                    input_source = _InputSource.new
         | 
| 180 185 | 
             
                    input_source.setCharacterStream(_StringReader.new(datasource.to_s))
         | 
| 181 186 | 
             
                    data_document = Beardley.with_warnings do
         | 
| @@ -185,21 +190,19 @@ module Beardley | |
| 185 190 | 
             
                  end
         | 
| 186 191 |  | 
| 187 192 | 
             
                  # Build JasperPrint
         | 
| 188 | 
            -
                   | 
| 193 | 
            +
                  fill_report(jasper_params, datasource)
         | 
| 189 194 | 
             
                end
         | 
| 190 195 |  | 
| 191 | 
            -
             | 
| 192 196 | 
             
                # Fill the report with valid method depending on datasource
         | 
| 193 197 | 
             
                def fill_report(params, datasource = nil)
         | 
| 194 | 
            -
                  _JasperFillManager | 
| 198 | 
            +
                  _JasperFillManager = Rjb.import('net.sf.jasperreports.engine.JasperFillManager')
         | 
| 195 199 | 
             
                  if datasource
         | 
| 196 200 | 
             
                    return _JasperFillManager.fillReport(@object_file.to_s, params)
         | 
| 197 201 | 
             
                  else
         | 
| 198 | 
            -
                    _JREmptyDataSource | 
| 202 | 
            +
                    _JREmptyDataSource = Rjb.import('net.sf.jasperreports.engine.JREmptyDataSource')
         | 
| 199 203 | 
             
                    return _JasperFillManager.fillReport(@object_file.to_s, params, _JREmptyDataSource.new)
         | 
| 200 204 | 
             
                  end
         | 
| 201 205 | 
             
                end
         | 
| 202 | 
            -
                
         | 
| 203 206 |  | 
| 204 207 | 
             
                # Returns the value without conversion when it's converted to Java Types.
         | 
| 205 208 | 
             
                # When isn't a Rjb class, returns a Java String of it.
         | 
| @@ -209,10 +212,8 @@ module Beardley | |
| 209 212 | 
             
                  if param.class.parent == Rjb
         | 
| 210 213 | 
             
                    param
         | 
| 211 214 | 
             
                  else
         | 
| 212 | 
            -
                    Rjb | 
| 215 | 
            +
                    Rjb.import('java.lang.String').new(param.to_s)
         | 
| 213 216 | 
             
                  end
         | 
| 214 217 | 
             
                end
         | 
| 215 | 
            -
             | 
| 216 218 | 
             
              end
         | 
| 217 | 
            -
             | 
| 218 219 | 
             
            end
         | 
    
        data/lib/beardley/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: beardley
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.4.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Brice Texier
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2017-06-28 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rjb
         | 
| @@ -94,6 +94,20 @@ dependencies: | |
| 94 94 | 
             
                - - ">"
         | 
| 95 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| 96 96 | 
             
                    version: '1'
         | 
| 97 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 98 | 
            +
              name: term-ansicolor
         | 
| 99 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 100 | 
            +
                requirements:
         | 
| 101 | 
            +
                - - ">"
         | 
| 102 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 103 | 
            +
                    version: '1'
         | 
| 104 | 
            +
              type: :development
         | 
| 105 | 
            +
              prerelease: false
         | 
| 106 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 107 | 
            +
                requirements:
         | 
| 108 | 
            +
                - - ">"
         | 
| 109 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 110 | 
            +
                    version: '1'
         | 
| 97 111 | 
             
            description: Generate reports using JasperReports reporting tool
         | 
| 98 112 | 
             
            email: burisu@oneiros.fr
         | 
| 99 113 | 
             
            executables: []
         | 
| @@ -133,9 +147,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 133 147 | 
             
                  version: '0'
         | 
| 134 148 | 
             
            requirements: []
         | 
| 135 149 | 
             
            rubyforge_project: 
         | 
| 136 | 
            -
            rubygems_version: 2. | 
| 150 | 
            +
            rubygems_version: 2.5.2
         | 
| 137 151 | 
             
            signing_key: 
         | 
| 138 152 | 
             
            specification_version: 4
         | 
| 139 153 | 
             
            summary: JasperReports integration
         | 
| 140 154 | 
             
            test_files: []
         | 
| 141 | 
            -
            has_rdoc: 
         |