Sha256: f94498a03defffd06704b0c7d1d1df9d2c80acbaee005a0fbebe2f30e60c8501

Contents?: true

Size: 959 Bytes

Versions: 13

Compression:

Stored size: 959 Bytes

Contents

module PactBroker
  module DB
    class Version
      def self.call database_connection
        if database_connection.tables.include?(:schema_migrations)
          version_from_schema_migrations(database_connection)
        elsif database_connection.tables.include?(:schema_info)
          version_from_schema_info(database_connection)
        else
          0
        end
      end

      private_class_method def self.version_from_schema_migrations(database_connection)
        last_migration = database_connection[:schema_migrations].order(:filename).last
        if last_migration
          last_migration[:filename].split("_", 2).first.to_i
        else
          0
        end
      end

      private_class_method def self.version_from_schema_info(database_connection)
        schema_info = database_connection[:schema_info].first
        if schema_info
          schema_info[:version]
        else
          0
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
pact_broker-2.113.0 lib/pact_broker/db/version.rb
pact_broker-2.112.0 lib/pact_broker/db/version.rb
pact_broker-2.111.0 lib/pact_broker/db/version.rb
pact_broker-2.109.1 lib/pact_broker/db/version.rb
pact_broker-2.109.0 lib/pact_broker/db/version.rb
pact_broker-2.108.0 lib/pact_broker/db/version.rb
pact_broker-2.107.1 lib/pact_broker/db/version.rb
pact_broker-2.107.0 lib/pact_broker/db/version.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/db/version.rb
pact_broker-2.106.0 lib/pact_broker/db/version.rb
pact_broker-2.105.0 lib/pact_broker/db/version.rb
pact_broker-2.104.0 lib/pact_broker/db/version.rb
pact_broker-2.103.0 lib/pact_broker/db/version.rb