thinreports 0.7.5 → 0.7.6
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/.gitignore +1 -0
- data/README.rdoc +5 -1
- data/Rakefile +9 -9
- data/lib/thinreports/generator/pdf.rb +3 -1
- data/lib/thinreports/layout/version.rb +43 -43
- data/lib/thinreports/report/internal.rb +1 -4
- data/lib/thinreports/version.rb +1 -1
- data/test/unit/generator/test_pdf.rb +11 -1
- data/test/unit/helper.rb +13 -9
- data/test/unit/report/test_base.rb +307 -307
- data/test/unit/report/test_internal.rb +188 -175
- data/thinreports.gemspec +2 -1
- metadata +21 -5
data/.gitignore
CHANGED
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= ThinReports Generator
|
2
2
|
|
3
|
-
{<img src="https://secure.travis-ci.org/thinreports/thinreports-generator.png" />}[http://travis-ci.org/thinreports/thinreports-generator]
|
3
|
+
{<img src="https://secure.travis-ci.org/thinreports/thinreports-generator.png" />}[http://travis-ci.org/thinreports/thinreports-generator] {<img src="https://codeclimate.com/badge.png" />}[https://codeclimate.com/github/thinreports/thinreports-generator]
|
4
4
|
|
5
5
|
{ThinReports}[http://www.thinreports.org/] is Open Source Reporting Solution for Ruby.
|
6
6
|
|
@@ -129,6 +129,10 @@ More simply,
|
|
129
129
|
|
130
130
|
{Learn more}[http://osc.matsukei.net/projects/thinreports/wiki/Getting_Started].
|
131
131
|
|
132
|
+
=== Rails3
|
133
|
+
|
134
|
+
* Rails Template handler for ThinReports DSL: {thinreports-rails}[https://github.com/takeshinoda/thinreports-rails]
|
135
|
+
|
132
136
|
== For more information
|
133
137
|
|
134
138
|
=== Release information
|
data/Rakefile
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
# Load thinreports
|
4
|
-
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + '/lib'))
|
5
|
-
require 'thinreports'
|
6
|
-
|
7
|
-
# Load tasks
|
8
|
-
Dir.glob('tasks/**/*.rake').each do |r|
|
9
|
-
Rake.application.add_import r
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
# Load thinreports
|
4
|
+
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + '/lib'))
|
5
|
+
require 'thinreports'
|
6
|
+
|
7
|
+
# Load tasks
|
8
|
+
Dir.glob('tasks/**/*.rake').each do |r|
|
9
|
+
Rake.application.add_import r
|
10
10
|
end
|
@@ -18,8 +18,10 @@ module ThinReports
|
|
18
18
|
# See Prawn::Document#encrypt_document
|
19
19
|
def initialize(report, options)
|
20
20
|
super
|
21
|
-
@pdf = Document.new(options, :Title => default_layout.format.report_title)
|
22
21
|
|
22
|
+
title = default_layout ? default_layout.format.report_title : nil
|
23
|
+
|
24
|
+
@pdf = Document.new(options, :Title => title)
|
23
25
|
@drawers = {}
|
24
26
|
end
|
25
27
|
|
@@ -1,43 +1,43 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
|
-
module ThinReports
|
4
|
-
module Layout
|
5
|
-
|
6
|
-
# @private
|
7
|
-
module Version
|
8
|
-
REQUIRED_RULES = ['>= 0.6.0.pre3', '< 0.8.0']
|
9
|
-
|
10
|
-
# @param [String] version
|
11
|
-
# @return [Boolean]
|
12
|
-
def self.compatible?(version)
|
13
|
-
compare(version, *REQUIRED_RULES)
|
14
|
-
end
|
15
|
-
|
16
|
-
# @param [String] base
|
17
|
-
# @param [Array<String>] rules
|
18
|
-
# @return [Boolean]
|
19
|
-
def self.compare(base, *rules)
|
20
|
-
rules.all? do |rule|
|
21
|
-
op, ver = rule.split(' ')
|
22
|
-
comparable_version(base).send(op.to_sym, comparable_version(ver))
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# @return [String]
|
27
|
-
def self.inspect_required_rules
|
28
|
-
'(' + REQUIRED_RULES.join(' and ') + ')'
|
29
|
-
end
|
30
|
-
|
31
|
-
# @param [String] version
|
32
|
-
# @return [String]
|
33
|
-
def self.comparable_version(version)
|
34
|
-
if version =~ /pre/
|
35
|
-
version.sub(/pre(\d*)$/) { $1 == '' ? '1' : $1 }
|
36
|
-
else
|
37
|
-
"#{version}.99"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
43
|
-
end
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module ThinReports
|
4
|
+
module Layout
|
5
|
+
|
6
|
+
# @private
|
7
|
+
module Version
|
8
|
+
REQUIRED_RULES = ['>= 0.6.0.pre3', '< 0.8.0']
|
9
|
+
|
10
|
+
# @param [String] version
|
11
|
+
# @return [Boolean]
|
12
|
+
def self.compatible?(version)
|
13
|
+
compare(version, *REQUIRED_RULES)
|
14
|
+
end
|
15
|
+
|
16
|
+
# @param [String] base
|
17
|
+
# @param [Array<String>] rules
|
18
|
+
# @return [Boolean]
|
19
|
+
def self.compare(base, *rules)
|
20
|
+
rules.all? do |rule|
|
21
|
+
op, ver = rule.split(' ')
|
22
|
+
comparable_version(base).send(op.to_sym, comparable_version(ver))
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# @return [String]
|
27
|
+
def self.inspect_required_rules
|
28
|
+
'(' + REQUIRED_RULES.join(' and ') + ')'
|
29
|
+
end
|
30
|
+
|
31
|
+
# @param [String] version
|
32
|
+
# @return [String]
|
33
|
+
def self.comparable_version(version)
|
34
|
+
if version =~ /pre/
|
35
|
+
version.sub(/pre(\d*)$/) { $1 == '' ? '1' : $1 }
|
36
|
+
else
|
37
|
+
"#{version}.99"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
@@ -31,9 +31,6 @@ module ThinReports
|
|
31
31
|
# @see ThinReports::Report::Base#use_layout
|
32
32
|
def register_layout(layout, options = {}, &block)
|
33
33
|
layout = if options.empty? || options[:default]
|
34
|
-
if @default_layout
|
35
|
-
raise ArgumentError, 'The default layout is already set.'
|
36
|
-
end
|
37
34
|
@default_layout = init_layout(layout)
|
38
35
|
else
|
39
36
|
id = options[:id].to_sym
|
@@ -128,4 +125,4 @@ module ThinReports
|
|
128
125
|
end
|
129
126
|
|
130
127
|
end
|
131
|
-
end
|
128
|
+
end
|
data/lib/thinreports/version.rb
CHANGED
@@ -8,6 +8,16 @@ class ThinReports::Generator::TestPDF < MiniTest::Unit::TestCase
|
|
8
8
|
# Alias
|
9
9
|
PDF = ThinReports::Generator::PDF
|
10
10
|
|
11
|
+
def test_new_should_set_empty_title_when_the_default_layout_is_not_set
|
12
|
+
report = ThinReports::Report.new
|
13
|
+
report.start_new_page :layout => data_file('basic_layout1.tlf')
|
14
|
+
|
15
|
+
flexmock(PDF::Document).should_receive(:new).
|
16
|
+
with(Hash, :Title => nil).once
|
17
|
+
|
18
|
+
PDF.new(report, {})
|
19
|
+
end
|
20
|
+
|
11
21
|
def test_new_should_set_title_as_metadata
|
12
22
|
report = create_basic_report('basic_layout1.tlf') {|r| r.start_new_page }
|
13
23
|
|
@@ -16,4 +26,4 @@ class ThinReports::Generator::TestPDF < MiniTest::Unit::TestCase
|
|
16
26
|
|
17
27
|
PDF.new(report, {})
|
18
28
|
end
|
19
|
-
end
|
29
|
+
end
|
data/test/unit/helper.rb
CHANGED
@@ -1,14 +1,18 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
3
|
+
require 'rubygems'
|
4
|
+
require 'minitest/spec'
|
5
|
+
require 'minitest/unit'
|
6
|
+
require 'turn'
|
7
|
+
require 'flexmock'
|
8
|
+
|
9
|
+
require 'simplecov'
|
10
|
+
SimpleCov.start do
|
11
|
+
add_filter 'test/'
|
12
|
+
add_group 'Core', 'lib/thinreports/core'
|
13
|
+
add_group 'Generator', 'lib/thinreports/generator'
|
14
|
+
add_group 'Layout', 'lib/thinreports/layout'
|
15
|
+
add_group 'Report', 'lib/thinreports/report'
|
12
16
|
end
|
13
17
|
|
14
18
|
Turn.config.format = :progress
|