lib/geometry/rectangle.rb in geometry-4 vs lib/geometry/rectangle.rb in geometry-5
- old
+ new
@@ -1,5 +1,6 @@
+require_relative 'cluster_factory'
require_relative 'edge'
require_relative 'point'
require_relative 'size'
module Geometry
@@ -17,10 +18,12 @@
rect = Rectangle[Size[10, 20]] # origin = [0,0], size = [10, 20]
=end
class Rectangle
+ include ClusterFactory
+
# @return [Point] The {Rectangle}'s center
attr_reader :center
# @return [Number] Height of the {Rectangle}
attr_reader :height
# @return [Point] The {Rectangle}'s origin
@@ -28,14 +31,10 @@
# @return [Size] The {Size} of the {Rectangle}
attr_reader :size
# @return [Number] Width of the {Rectangle}
attr_reader :width
- class << self
- alias :original_new :new
- end
-
# @overload new(width, height)
# Creates a {Rectangle} of the given width and height, centered on the origin
# @param [Number] height Height
# @param [Number] width Width
# @return [CenteredRectangle]
@@ -149,14 +148,10 @@
attr_accessor :center
attr_reader :origin
# @return [Size] The {Size} of the {Rectangle}
attr_accessor :size
- def self.new(*args)
- original_new(*args)
- end
-
# @overload new(width, height)
# Creates a {Rectangle} of the given width and height, centered on the origin
# @param [Number] height Height
# @param [Number] width Width
# @return [CenteredRectangle]
@@ -217,13 +212,9 @@
attr_reader :center
# @return [Point] The {Rectangle}'s origin
attr_accessor :origin
# @return [Size] The {Size} of the {Rectangle}
attr_accessor :size
-
- def self.new(*args)
- original_new(*args)
- end
# @overload new(width, height)
# Creates a {Rectangle} of the given width and height with its origin at [0,0]
# @param [Number] height Height
# @param [Number] width Width