Class: Array

Inherits:
Object show all
Defined in:
lib/maglev-database-explorer/database_views/array.rb

Instance Method Summary collapse

Instance Method Details

#__basetypeObject



2
3
4
# File 'lib/maglev-database-explorer/database_views/array.rb', line 2

def __basetype
  :array
end

#to_database_view(depth, ranges = {}, params = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/maglev-database-explorer/database_views/array.rb', line 6

def to_database_view(depth, ranges = {}, params = {})
  obj = super

  if depth > 0
    obj[:elements] = {}
    obj[:elementsSize] = self.size

    range_from = ranges[:elements] ? Integer(ranges[:elements][0]) : 1
    range_to = ranges[:elements] ? Integer(ranges[:elements][1]) : 10

    if (params[:allElements])
      range_from = 1
      range_to = self.size
    end
    
    ((range_from - 1)..[range_to - 1, self.size - 1].min).each do |index|
      obj[:elements][index + 1] = self[index].to_database_view(depth - 1, {}, params)
    end
  end

  return obj
end