Sha256: 0205672c4895bf58c16ebd25b0b9868db56a3e533180d0f0ca48bf53efd32442

Contents?: true

Size: 921 Bytes

Versions: 9

Compression:

Stored size: 921 Bytes

Contents

# Copyright 2020 Google LLC
#
# Use of this source code is governed by an MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT.

# frozen_string_literal: true

module ActiveRecord
  module ConnectionAdapters
    module Spanner
      class TypeMetadata < DelegateClass(SqlTypeMetadata)
        undef to_yaml if method_defined? :to_yaml

        attr_reader :ordinal_position

        def initialize type_metadata, ordinal_position: nil
          super type_metadata
          @ordinal_position = ordinal_position
        end

        def == other
          other.is_a?(TypeMetadata) &&
            __getobj__ == other.__getobj__ &&
            ordinal_position == other.ordinal_position
        end
        alias eql? ==

        def hash
          TypeMetadata.hash ^
            __getobj__.hash ^
            ordinal_position.hash
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
activerecord-spanner-adapter-1.2.2 lib/active_record/connection_adapters/spanner/type_metadata.rb
activerecord-spanner-adapter-1.2.1 lib/active_record/connection_adapters/spanner/type_metadata.rb
activerecord-spanner-adapter-1.2.0 lib/active_record/connection_adapters/spanner/type_metadata.rb
activerecord-spanner-adapter-1.1.0 lib/active_record/connection_adapters/spanner/type_metadata.rb
activerecord-spanner-adapter-1.0.1 lib/active_record/connection_adapters/spanner/type_metadata.rb
activerecord-spanner-adapter-1.0.0 lib/active_record/connection_adapters/spanner/type_metadata.rb
activerecord-spanner-adapter-0.7.0 lib/active_record/connection_adapters/spanner/type_metadata.rb
activerecord-spanner-adapter-0.6.0 lib/active_record/connection_adapters/spanner/type_metadata.rb
activerecord-spanner-adapter-0.5.0 lib/active_record/connection_adapters/spanner/type_metadata.rb