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