prep 0.2.2 → 0.2.3
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/VERSION +1 -1
- data/lib/core/loop.rb +26 -0
- data/prep.gemspec +2 -2
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
data/lib/core/loop.rb
CHANGED
@@ -245,11 +245,37 @@ module PREP # nodoc
|
|
245
245
|
@width ||= w
|
246
246
|
@width = w if @width < w
|
247
247
|
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
|
254
|
+
end
|
255
|
+
end
|
248
256
|
end
|
249
257
|
|
250
258
|
return region
|
251
259
|
end
|
252
260
|
|
261
|
+
# 最低一回はイテーレーションループが描画可能であることを確認
|
262
|
+
def at_least_one_time_iteration?(prep, region, values)
|
263
|
+
# 現在のページ番号を確保
|
264
|
+
page_pos_x, page_pos_y = prep.page_pos_x, prep.page_pos_y
|
265
|
+
# 一回分のデータでイテーレーションの領域計算を実施
|
266
|
+
calculate_iterator_region(prep, region.dup, { :values => [values[:values].first] })
|
267
|
+
# 進行方向へのページ切り替えが発生したかを判定
|
268
|
+
if @direction == DIRECTIONS[:horizontal]
|
269
|
+
# X 方向へのページ切り替えが発生しているのでイテーレーション一回の描画不可
|
270
|
+
return false if page_pos_x != prep.page_pos_x
|
271
|
+
else # if @direction == DIRECTIONS[:vertical]
|
272
|
+
# Y 方向へのページ切り替えが発生しているのでイテーレーション一回の描画不可
|
273
|
+
return false if page_pos_y != prep.page_pos_y
|
274
|
+
end
|
275
|
+
# ページ切り替えが無いので描画可能
|
276
|
+
return true
|
277
|
+
end
|
278
|
+
|
253
279
|
# 繰返し構成要素を描画するためのメソッド
|
254
280
|
def draw_iterator(prep, region, values, stop_on_drawable = nil)
|
255
281
|
iterator = prep.group(@iterator_group)
|
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.
|
8
|
+
s.version = "0.2.3"
|
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-
|
12
|
+
s.date = %q{2011-03-30}
|
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"]
|
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:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 3
|
10
|
+
version: 0.2.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tetsuhisa MAKINO
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-03-
|
18
|
+
date: 2011-03-30 00:00:00 +09:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|