prep 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
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.