class PREP::Core::Page
ページ設定を保持するクラス
Constants
- ORIENTATIONS
ページ方向の設定種別
- SIZES
ページサイズの設定種別
Attributes
header_height[R]
margin[R]
orientation[R]
size[R]
Public Class Methods
new()
click to toggle source
初期化
# File lib/core/page.rb, line 30 def initialize @size = SIZES[:a4] @orientation = ORIENTATIONS[:portrate] @margin = { :top => 0, :left => 0, :bottom => 0, :right => 0 } @header_height = 0 @footer_height = 0 end
Public Instance Methods
header_height=(height)
click to toggle source
# File lib/core/page.rb, line 71 def header_height=(height) if height >= 0 @header_height = height else raise "Invalid header height(#{height})." end end
margin=(values)
click to toggle source
# File lib/core/page.rb, line 59 def margin=(values) sym_key_values = values.keys.inject({ }) do |hash, key| hash[key.to_sym] = values[key] next hash end if (sym_key_values.keys - @margin.keys).length.zero? @margin.merge!(sym_key_values) else raise "Unknown margin keys (#{(sym_key_values.keys - @margin.keys).join(",")})." end end
orientation=(orientation)
click to toggle source
# File lib/core/page.rb, line 51 def orientation=(orientation) if ORIENTATIONS.values.include?(orientation) @orientation = orientation else raise "Unknown PAGE ORIENTATION." end end
size=(size)
click to toggle source
# File lib/core/page.rb, line 43 def size=(size) if SIZES.values.include?(size) @size = size else raise "Unknown PAGE SIZE." end end