From af8afb9278c30089bdbcac45411ec6e0bca0bda3 Mon Sep 17 00:00:00 2001 From: Eric Hankins Date: Thu, 22 Dec 2016 10:59:46 -0600 Subject: [PATCH] Fix specific document margin options --- lib/prawn/document.rb | 2 +- spec/prawn/document_spec.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/prawn/document.rb b/lib/prawn/document.rb index a611a6f5b..21b477066 100644 --- a/lib/prawn/document.rb +++ b/lib/prawn/document.rb @@ -721,7 +721,7 @@ def apply_margin_options(options) }[margin.length] sides.zip(positions).each do |side, pos| - new_margin = options["#{side}_margin"] || (margin[pos] if pos) + new_margin = options[:"#{side}_margin"] || (margin[pos] if pos) state.page.margins[side] = new_margin if new_margin end end diff --git a/spec/prawn/document_spec.rb b/spec/prawn/document_spec.rb index 497fd244d..55a77e94d 100644 --- a/spec/prawn/document_spec.rb +++ b/spec/prawn/document_spec.rb @@ -153,6 +153,12 @@ def self.format(string) described_class.new.start_new_page({ margin: 0 }.freeze) end.to_not raise_error end + + it "it sets individual page margins" do + doc = described_class.new + doc.start_new_page({ top_margin: 42 }) + expect(doc.page.margins[:top]).to eq(42) + end end describe '#page_number' do