Sha256: 2aad4db9209964ffca3f9b3d6fa7841c95027b863e435524dd4d7f4118ed044e

Contents?: true

Size: 720 Bytes

Versions: 44

Compression:

Stored size: 720 Bytes

Contents

# frozen_string_literal: true

module ActiveRecord
  module ConnectionAdapters
    module SQLServer
      module Type
        class Uuid < String
          ACCEPTABLE_UUID = %r{\A\{?([a-fA-F0-9]{4}-?){8}\}?\z}x

          alias_method :serialize, :deserialize

          def type
            :uuid
          end

          def sqlserver_type
            "uniqueidentifier"
          end

          def serialize(value)
            return unless value

            Data.new super, self
          end

          def cast(value)
            value.to_s[ACCEPTABLE_UUID, 0]
          end

          def quoted(value)
            Utils.quote_string_single(value) if value
          end
        end
      end
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
activerecord-sqlserver-adapter-7.1.11 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.2.4 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-8.0.2 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.10 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.2.3 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-8.0.1 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-8.0.0 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.2.2 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.9 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.8 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.2.1 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.2.0 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.7 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.6 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.5 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.4 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.0.7 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.3 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.2 lib/active_record/connection_adapters/sqlserver/type/uuid.rb
activerecord-sqlserver-adapter-7.1.1 lib/active_record/connection_adapters/sqlserver/type/uuid.rb