lib/prawn/document/span.rb in prawn-2.1.0 vs lib/prawn/document/span.rb in prawn-2.2.0
- old
+ new
@@ -1,7 +1,5 @@
-# encoding: utf-8
-
# span.rb : Implements text columns
#
# Copyright September 2008, Gregory Brown. All Rights Reserved.
#
# This is free software. Please see the LICENSE and COPYING files for details.
@@ -26,29 +24,34 @@
# text "Here's some centered text in a 350 point column. " * 100
# end
#
def span(width, options = {})
Prawn.verify_options [:position], options
- original_position = self.y
+ original_position = y
# FIXME: Any way to move this upstream?
- left_boundary = case(options[:position] || :left)
- when :left
- margin_box.absolute_left
- when :center
- margin_box.absolute_left + margin_box.width / 2.0 - width / 2.0
- when :right
- margin_box.absolute_right - width
- when Numeric
- margin_box.absolute_left + options[:position]
- else
- fail ArgumentError, "Invalid option for :position"
- end
+ left_boundary =
+ case options.fetch(:position, :left)
+ when :left
+ margin_box.absolute_left
+ when :center
+ margin_box.absolute_left + margin_box.width / 2.0 - width / 2.0
+ when :right
+ margin_box.absolute_right - width
+ when Numeric
+ margin_box.absolute_left + options[:position]
+ else
+ raise ArgumentError, 'Invalid option for :position'
+ end
# we need to bust out of whatever nested bounding boxes we're in.
canvas do
- bounding_box([left_boundary,
- margin_box.absolute_top], :width => width) do
+ bounding_box(
+ [
+ left_boundary,
+ margin_box.absolute_top
+ ], width: width
+ ) do
self.y = original_position
yield
end
end
end