Class: Pulo::Circle

Inherits:
Object
  • Object
show all
Includes:
Figure2D
Defined in:
lib/pulo/figure/figure2d.rb

Instance Attribute Summary collapse

Attributes included from Figure2D

#area, #perimeter

Instance Method Summary collapse

Methods included from Figure2D

#*

Methods included from Quantity_Checker

#quantity_check

Constructor Details

#initialize(radius: nil, diameter: nil, area: nil) ⇒ Circle

Returns a new instance of Circle.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/pulo/figure/figure2d.rb', line 23

def initialize(radius: nil, diameter: nil, area: nil)
  raise 'Circle needs area or diameter or radius.' unless (area || diameter || radius)
  quantity_check [radius,Length] ,[diameter,Length] , [area,Area]
  if area
    @area=area
    @radius=(@area/Math::PI).rt(2)
    @diameter=@radius*2
  else
    if diameter
      @diameter=diameter
      @radius=@diameter/2
    else
      @radius=radius
      @diameter=@radius*2
    end
    @area=(@radius**2)*Math::PI
  end
  @perimeter=@radius*2*Math::PI
end

Instance Attribute Details

#diameterObject (readonly)

Returns the value of attribute diameter.



19
20
21
# File 'lib/pulo/figure/figure2d.rb', line 19

def diameter
  @diameter
end

#radiusObject (readonly)

Returns the value of attribute radius.



19
20
21
# File 'lib/pulo/figure/figure2d.rb', line 19

def radius
  @radius
end

Instance Method Details

#extrusion_figureObject



20
21
22
# File 'lib/pulo/figure/figure2d.rb', line 20

def extrusion_figure
  Cylinder
end