def hex_ring(origin, k)
      max_hexagons = max_hex_ring_size(k)
      out = H3Indexes.of_size(max_hexagons)
      pentagonal_distortion = Bindings::Private.hex_ring(origin, k, out)
      raise(ArgumentError, "The hex ring contains a pentagon") if pentagonal_distortion
      out.read
    end
def hex_ring(origin, k)
      max_hexagons = max_hex_ring_size(k)
      out = H3Indexes.of_size(max_hexagons)
      pentagonal_distortion = Bindings::Private.hex_ring(origin, k, out)
      raise(ArgumentError, "The hex ring contains a pentagon") if pentagonal_distortion
      out.read
    end
Derives the hollow hexagonal ring centered at origin with sides of length k.

 An error is raised when one of the indexes returned is a pentagon or is
 in the pentagon distortion area.

 @param [Integer] origin Origin H3 index.
 @param [Integer] k K distance.

 @example Derive the hex ring for the H3 index at k = 1
   H3.hex_ring(617700169983721471, 1)
   [
     617700170044014591, 617700170047946751, 617700169984245759,
     617700169982672895, 617700169983983615, 617700170044276735
   ]

 @raise [ArgumentError] Raised if the hex ring contains a pentagon.

 @return [Array<Integer>] Array of H3 indexes within the hex ring.