Class: JsonApi::ArrayTransposer
- Inherits:
-
Object
- Object
- JsonApi::ArrayTransposer
- Defined in:
- lib/json_api_ruby/includes.rb
Instance Attribute Summary collapse
-
#array ⇒ Object
readonly
Returns the value of attribute array.
Instance Method Summary collapse
-
#initialize(array) ⇒ ArrayTransposer
constructor
A new instance of ArrayTransposer.
- #largest_sub_array_length ⇒ Object
- #padded_sub_arrays ⇒ Object
- #transpose_array ⇒ Object
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
#array ⇒ Object (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_length ⇒ Object
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_arrays ⇒ Object
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_array ⇒ Object
49 50 51 |
# File 'lib/json_api_ruby/includes.rb', line 49 def transpose_array padded_sub_arrays.transpose end |