Sha256: 229034a104a8f96d3cf16a9c012a866e7a53fb214b1880a6973ef41bd101061f
Contents?: true
Size: 567 Bytes
Versions: 2
Compression:
Stored size: 567 Bytes
Contents
require "diffable_array/version" class DiffableArray < Array def diff_merge(array) me = self.dup other = array.dup new_array = DiffableArray.new until me.length == 0 && other.length == 0 new_array |= me + other if me.empty? || other.empty? break if other.empty? || me.empty? element = if other[1..-1].include?(me.first) && !me[1..-1].include?(other.first) other.slice!(0) else me.slice!(0) end new_array << element end new_array.uniq end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
diffable_array-0.0.2 | lib/diffable_array.rb |
diffable_array-0.0.1 | lib/diffable_array.rb |