Sha256: 6b4179480a730573e273626cd9c26ab50b665587b3f91e37fb47baeaee09497f

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

require 'ncs_navigator/mdes'
require 'forwardable'

module NcsNavigator::Mdes::Differences
  ##
  # Captures the differences between two collections.
  class Collection
    extend Forwardable

    def_delegators :entry_differences, :[]

    def initialize(left_only, right_only, entry_differences)
      @left_only = left_only
      @right_only = right_only
      @entry_differences = entry_differences
    end

    ##
    # A list of those entries which are in the lefthand version of the
    # collection only. Values are the characteristic (alignment) value for each
    # entry.
    #
    # @return [Array<Object>]
    def left_only
      @left_only ||= []
    end

    ##
    # A list of those entries which are in the righthand version of the
    # collection only. Values are the characteristic (alignment) value for each
    # entry.
    #
    # @return [Array<Object>]
    def right_only
      @right_only ||= []
    end

    ##
    # Detailed differences for entries which are present in some form in each
    # collection. Keys are the characteristic (alignment) value for the entry.
    #
    # @return [Hash<Object, Entry>]
    def entry_differences
      @entry_differences ||= {}
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ncs_mdes-0.13.0 lib/ncs_navigator/mdes/differences/collection.rb
ncs_mdes-0.12.0 lib/ncs_navigator/mdes/differences/collection.rb