Sha256: 5512e415b7656bcaebfac92f55a5a9352353f9d6023bfc6060716c925ec0ffd9

Contents?: true

Size: 383 Bytes

Versions: 8

Compression:

Stored size: 383 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module ComparableInstance
    def eql?(other)
      frozen? && other.frozen? &&
        self.class == other.class &&
        instance_variables.all? do |var|
          instance_variable_get(var) == other.instance_variable_get(var)
        end
    end
    alias_method :==, :eql?

    def hash
      self.class.hash
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
leftovers-0.12.2 lib/leftovers/comparable_instance.rb
leftovers-0.12.1 lib/leftovers/comparable_instance.rb
leftovers-0.12.0 lib/leftovers/comparable_instance.rb
leftovers-0.11.2 lib/leftovers/comparable_instance.rb
leftovers-0.11.1 lib/leftovers/comparable_instance.rb
leftovers-0.11.0 lib/leftovers/comparable_instance.rb
leftovers-0.10.0 lib/leftovers/comparable_instance.rb
leftovers-0.9.0 lib/leftovers/comparable_instance.rb