Class: Cube

Inherits:
Object
  • Object
show all
Defined in:
lib/hexa/objects/cube.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Cube

Create a new Cube object a Fixnum or a Square object.

Parameters:

  • you (Hash)

    should specify the :side option. You can either pass



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/hexa/objects/cube.rb', line 9

def initialize(options = {})
  if options[:side]
    if options[:side].instance_of?(Square)
      @side = options[:side].side
    elsif options[:side].instance_of?(Fixnum)
      @side = options[:side]
    else
      @side = 1
    end
  else
    @side = 1
  end
end

Instance Attribute Details

#sideObject

Returns the value of attribute side.



3
4
5
# File 'lib/hexa/objects/cube.rb', line 3

def side
  @side
end

Class Method Details

.volume(side = 1) ⇒ Fixnum

Same behavior as volume but you can call it without a Cube instance like Cube::volume(10) => 1000

Returns:

  • (Fixnum)

    the volume of a cube with a given



32
33
34
# File 'lib/hexa/objects/cube.rb', line 32

def self.volume(side = 1)
  side ** 3
end

Instance Method Details

#volumeFixnum

Returns the volume of the cube.

Returns:

  • (Fixnum)

    the volume of the cube



25
26
27
# File 'lib/hexa/objects/cube.rb', line 25

def volume
  @side ** 3
end