Sha256: 01993667431a276860dfb377904af79a843ba4b56ca22329e3d54ac339eba8f5

Contents?: true

Size: 810 Bytes

Versions: 5

Compression:

Stored size: 810 Bytes

Contents

require "juno-report/version"
require "juno-report/pdf"
require "juno-report/pdf/behaviors"
require "prawml"

module JunoReport
    autoload :ReportObject, 'juno-report/report_object'

    def self.generate(collection, options)
        rules = (File.open "#{options[:report]}.yml").read

        defaults = {
            :page_layout => :portrait
        }

        pdf = Prawml::PDF.new rules, defaults.merge(options)

        pdf.extend JunoReport::Pdf
        report  = pdf.generate(collection)

        options[:type] ||= :file

        if options[:type].eql? :file
            report.render_file (options[:filename] || "report.pdf")
        elsif options[:type].eql? :stream
            return report.render
        else
            raise "Type options must be :file or :stream."
        end

    end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
juno-report-0.1.2 lib/juno-report.rb
juno-report-0.1.1 lib/juno-report.rb
juno-report-0.0.9 lib/juno-report.rb
juno-report-0.0.8 lib/juno-report.rb
juno-report-0.0.7 lib/juno-report.rb