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