Sha256: 7995ee81f7f980dfb92c48905a5f8d6164b783e1422eeb6ea4401fe29394a893

Contents?: true

Size: 715 Bytes

Versions: 17

Compression:

Stored size: 715 Bytes

Contents

module Draper
  module Decoratable
    module Equality
      # Compares self with a possibly-decorated object.
      #
      # @return [Boolean]
      def ==(other)
        super || Equality.test_for_decorator(self, other)
      end

      # Compares an object to a possibly-decorated object.
      #
      # @return [Boolean]
      def self.test(object, other)
        return object == other if object.is_a?(Decoratable)
        object == other || test_for_decorator(object, other)
      end

      # @private
      def self.test_for_decorator(object, other)
        other.respond_to?(:decorated?) && other.decorated? &&
        other.respond_to?(:object) && test(object, other.object)
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 3 rubygems

Version Path
draper-4.0.4 lib/draper/decoratable/equality.rb
draper-4.0.3 lib/draper/decoratable/equality.rb
draper-4.0.2 lib/draper/decoratable/equality.rb
draper-4.0.1 lib/draper/decoratable/equality.rb
draper-4.0.0 lib/draper/decoratable/equality.rb
draper-3.1.0 lib/draper/decoratable/equality.rb
draper-3.0.1 lib/draper/decoratable/equality.rb
draper-3.0.0 lib/draper/decoratable/equality.rb
draper-3.0.0.pre1 lib/draper/decoratable/equality.rb
draper_new-3.0.0 lib/draper/decoratable/equality.rb
sc_core-0.0.7 test/dummy/vendor/bundle/ruby/2.2.0/gems/draper-2.1.0/lib/draper/decoratable/equality.rb
draper-2.1.0 lib/draper/decoratable/equality.rb
draper-2.0.0 lib/draper/decoratable/equality.rb
draper-1.4.0 lib/draper/decoratable/equality.rb
draper-1.3.1 lib/draper/decoratable/equality.rb
draper-1.3.0 lib/draper/decoratable/equality.rb
draper-1.2.1 lib/draper/decoratable/equality.rb