Class: Origami::Rectangle
- Inherits:
-
Object
- Object
- Origami::Rectangle
- Defined in:
- lib/origami/array.rb
Overview
Class representing a location on a page or a bounding box.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.[](coords) ⇒ Object
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 |
# File 'lib/origami/array.rb', line 213 def self.[](coords) corners = if [ :llx, :lly, :urx, :ury ].all? {|p| coords.include?(p)} coords.values_at(:llx, :lly, :urx, :ury) elsif [ :width, :height ].all? {|p| coords.include?(p)} width, height = coords.values_at(:width, :height) x = coords.fetch(:x, 0) y = coords.fetch(:y, 0) [ x, y, x+width, y+height ] else raise ArgumentError, "Bad arguments for #{self.class}: #{coords.inspect}" end unless corners.all? { |corner| corner.is_a?(Numeric) } raise TypeError, "All coords must be numbers" end Rectangle.new(corners) end |