Class: Vedeu::Models::Row

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/vedeu/models/row.rb

Overview

A Row represents an array of Vedeu::Models::Cell objects.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cells = []) ⇒ Vedeu::Models::Row

Returns an instance of Vedeu::Models::Row.

Parameters:

  • cells (Array<NilClass|void>) (defaults to: [])


37
38
39
# File 'lib/vedeu/models/row.rb', line 37

def initialize(cells = [])
  @cells = cells || []
end

Instance Attribute Details

#cellsArray<NilClass|void> (readonly)

Returns:

  • (Array<NilClass|void>)


13
14
15
# File 'lib/vedeu/models/row.rb', line 13

def cells
  @cells
end

Class Method Details

.coerce(value) ⇒ Vedeu::Models::Row

Parameters:

Returns:



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/vedeu/models/row.rb', line 17

def self.coerce(value)
  if value.is_a?(self)
    value

  elsif value.is_a?(Array)
    new(value.compact)

  elsif value.nil?
    new

  else
    new([value])

  end
end

Instance Method Details

#cell(index) ⇒ NilClass|void

Parameters:

  • index (Fixnum)

Returns:

  • (NilClass|void)


43
44
45
46
47
# File 'lib/vedeu/models/row.rb', line 43

def cell(index)
  return nil if index.nil?

  cells[index]
end

#contentArray<void>

Returns:

  • (Array<void>)


50
51
52
# File 'lib/vedeu/models/row.rb', line 50

def content
  cells.flatten
end

#each(&block) ⇒ Enumerator

Provides iteration over the collection.

Parameters:

  • block (Proc)

Returns:

  • (Enumerator)


58
59
60
# File 'lib/vedeu/models/row.rb', line 58

def each(&block)
  cells.each(&block)
end

#empty?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/vedeu/models/row.rb', line 63

def empty?
  cells.empty?
end

#eql?(other) ⇒ Boolean Also known as: ==

An object is equal when its values are the same.

Parameters:

Returns:

  • (Boolean)


71
72
73
# File 'lib/vedeu/models/row.rb', line 71

def eql?(other)
  self.class == other.class && cells == other.cells
end