Module: MaglevRecord::Base

Defined in:
lib/mdbe/database_views/maglev_record.rb

Instance Method Summary collapse

Instance Method Details

#__basetypeObject



5
6
7
# File 'lib/mdbe/database_views/maglev_record.rb', line 5

def __basetype
  :maglevRecordBase
end

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



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/mdbe/database_views/maglev_record.rb', line 9

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

  if depth > 0
    index = 1

    obj[:attributes] = {}
    obj[:attributesSize] = @maglev_attributes.size

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

    if (params[:allElements])
      range_from = 1
      range_to = @maglev_attributes.size
    end

    @maglev_attributes.each do |k, v|
      if (index >= range_from)
        if (index > range_to)
          break
        else
          obj[:attributes][index] = [k.to_database_view(depth - 1, {}, params), v.to_database_view(depth - 1, {}, params)]
        end
      end

      index = index + 1
    end
  end

  return obj
end