Class: JsonApi::ArrayTransposer

Inherits:
Object
  • Object
show all
Defined in:
lib/json_api_ruby/includes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(array) ⇒ ArrayTransposer

Returns a new instance of ArrayTransposer.



45
46
47
# File 'lib/json_api_ruby/includes.rb', line 45

def initialize(array)
  @array = Array(array)
end

Instance Attribute Details

#arrayObject (readonly)

Returns the value of attribute array.



43
44
45
# File 'lib/json_api_ruby/includes.rb', line 43

def array
  @array
end

Instance Method Details

#largest_sub_array_lengthObject



61
62
63
64
65
66
67
# File 'lib/json_api_ruby/includes.rb', line 61

def largest_sub_array_length
  largest_count = 0
  array.each do |sub_array|
    largest_count = sub_array.count if sub_array.length > largest_count
  end
  largest_count
end

#padded_sub_arraysObject



53
54
55
56
57
58
59
# File 'lib/json_api_ruby/includes.rb', line 53

def padded_sub_arrays
  max_length = largest_sub_array_length
  array.map do |sub_array|
    sub_array.extend(ArrayPadder)
    sub_array.pad(max_length)
  end
end

#transpose_arrayObject



49
50
51
# File 'lib/json_api_ruby/includes.rb', line 49

def transpose_array
  padded_sub_arrays.transpose
end