prep 0.2.4 → 0.2.5

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.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/core/loop.rb +16 -7
  3. data/prep.gemspec +3 -4
  4. metadata +21 -21
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.4
1
+ 0.2.5
data/lib/core/loop.rb CHANGED
@@ -20,9 +20,10 @@ module PREP # nodoc
20
20
  :gap => 0,
21
21
  :page_break => false,
22
22
  :layer => 4,
23
+ :allow_header_split => true,
23
24
  }
24
25
 
25
- attr_reader :direction, :gap, :header_group, :iterator_group, :footer_group, :point, :page_break, :width, :height
26
+ attr_reader :direction, :gap, :header_group, :iterator_group, :footer_group, :point, :page_break, :width, :height, :allow_header_split
26
27
 
27
28
  def initialize(identifier, values = { })
28
29
  values = @@default_values.merge(key_string_to_symbol(values))
@@ -36,6 +37,7 @@ module PREP # nodoc
36
37
  @footer_group = values[:footer]
37
38
  @point = Point.new(values[:x].mm2pixcel, values[:y].mm2pixcel)
38
39
  @page_break = values[:page_break]
40
+ @allow_header_split = values[:allow_header_split]
39
41
  end
40
42
 
41
43
  def direction=(d)
@@ -245,12 +247,19 @@ module PREP # nodoc
245
247
  @width ||= w
246
248
  @width = w if @width < w
247
249
  end
248
- # イテーレーションが一度も描画できない場合は進行方向に対するページ切り替え例外
249
- unless at_least_one_time_iteration?(prep, region, values)
250
- if @direction == DIRECTIONS[:horizontal]
251
- raise RegionWidthOverflowError.new
252
- else # if @direction == DIRECTIONS[:vertical]
253
- raise RegionHeightOverflowError.new
250
+ # ヘッダ取り残しを許可するかどうかを判定
251
+ unless @allow_header_split
252
+ # イテーレーションが一度も描画できない場合は進行方向に対するページ切り替え例外
253
+ drawabled = rewind_current_page(prep) do # ページ設定巻き戻し用ブロック付きメソッド
254
+ at_least_one_time_iteration?(prep, region, values)
255
+ end
256
+ # 描画不可の場合は強制ページ切り替え
257
+ unless drawabled
258
+ if @direction == DIRECTIONS[:horizontal]
259
+ raise RegionWidthOverflowError.new
260
+ else # if @direction == DIRECTIONS[:vertical]
261
+ raise RegionHeightOverflowError.new
262
+ end
254
263
  end
255
264
  end
256
265
  end
data/prep.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{prep}
8
- s.version = "0.2.3"
8
+ s.version = "0.2.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tetsuhisa MAKINO"]
12
- s.date = %q{2011-03-30}
12
+ s.date = %q{2011-04-27}
13
13
  s.description = %q{PREP is PDF Report generator depends on HPDF.}
14
14
  s.email = %q{tim.makino@gmail.com}
15
15
  s.executables = ["prep-test", "prep-helper"]
@@ -64,7 +64,7 @@ Gem::Specification.new do |s|
64
64
  s.homepage = %q{http://github.com/maki-tetsu/prep}
65
65
  s.licenses = ["MIT"]
66
66
  s.require_paths = ["lib"]
67
- s.rubygems_version = %q{1.3.7}
67
+ s.rubygems_version = %q{1.4.2}
68
68
  s.summary = %q{PREP is PDF Report generator depends on HPDF.}
69
69
  s.test_files = [
70
70
  "examples/generate_group_sample.rb",
@@ -81,7 +81,6 @@ Gem::Specification.new do |s|
81
81
  ]
82
82
 
83
83
  if s.respond_to? :specification_version then
84
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
85
84
  s.specification_version = 3
86
85
 
87
86
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prep
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
5
- prerelease: false
4
+ hash: 29
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 4
10
- version: 0.2.4
9
+ - 5
10
+ version: 0.2.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tetsuhisa MAKINO
@@ -15,12 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-30 00:00:00 +09:00
18
+ date: 2011-04-27 00:00:00 +09:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- name: hpdf
22
+ type: :runtime
24
23
  version_requirements: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
26
25
  requirements:
@@ -33,10 +32,10 @@ dependencies:
33
32
  - 8
34
33
  version: 2.0.8
35
34
  requirement: *id001
36
- type: :runtime
37
- - !ruby/object:Gem::Dependency
38
35
  prerelease: false
39
- name: rspec
36
+ name: hpdf
37
+ - !ruby/object:Gem::Dependency
38
+ type: :development
40
39
  version_requirements: &id002 !ruby/object:Gem::Requirement
41
40
  none: false
42
41
  requirements:
@@ -49,10 +48,10 @@ dependencies:
49
48
  - 0
50
49
  version: 2.3.0
51
50
  requirement: *id002
52
- type: :development
53
- - !ruby/object:Gem::Dependency
54
51
  prerelease: false
55
- name: bundler
52
+ name: rspec
53
+ - !ruby/object:Gem::Dependency
54
+ type: :development
56
55
  version_requirements: &id003 !ruby/object:Gem::Requirement
57
56
  none: false
58
57
  requirements:
@@ -65,10 +64,10 @@ dependencies:
65
64
  - 0
66
65
  version: 1.0.0
67
66
  requirement: *id003
68
- type: :development
69
- - !ruby/object:Gem::Dependency
70
67
  prerelease: false
71
- name: jeweler
68
+ name: bundler
69
+ - !ruby/object:Gem::Dependency
70
+ type: :development
72
71
  version_requirements: &id004 !ruby/object:Gem::Requirement
73
72
  none: false
74
73
  requirements:
@@ -81,10 +80,10 @@ dependencies:
81
80
  - 2
82
81
  version: 1.5.2
83
82
  requirement: *id004
84
- type: :development
85
- - !ruby/object:Gem::Dependency
86
83
  prerelease: false
87
- name: rcov
84
+ name: jeweler
85
+ - !ruby/object:Gem::Dependency
86
+ type: :development
88
87
  version_requirements: &id005 !ruby/object:Gem::Requirement
89
88
  none: false
90
89
  requirements:
@@ -95,7 +94,8 @@ dependencies:
95
94
  - 0
96
95
  version: "0"
97
96
  requirement: *id005
98
- type: :development
97
+ prerelease: false
98
+ name: rcov
99
99
  description: PREP is PDF Report generator depends on HPDF.
100
100
  email: tim.makino@gmail.com
101
101
  executables:
@@ -179,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
179
  requirements: []
180
180
 
181
181
  rubyforge_project:
182
- rubygems_version: 1.3.7
182
+ rubygems_version: 1.4.2
183
183
  signing_key:
184
184
  specification_version: 3
185
185
  summary: PREP is PDF Report generator depends on HPDF.