Sha256: 25b2aa9634fb308caf884a04a58557898b20de85538675a848a2c0a017cb57c0

Contents?: true

Size: 1.56 KB

Versions: 27

Compression:

Stored size: 1.56 KB

Contents

require 'active_support/deprecation'

module ArJdbc

  # @private
  AR42 = ::ActiveRecord::VERSION::STRING >= '4.2'

  # @private
  AR52 = ::ActiveRecord::VERSION::STRING >= '5.2'

  class << self

    # @private Internal API
    def warn_unsupported_adapter(adapter, version = nil)
      warn_prefix = 'NOTE:'
      if version # e.g. [4, 2]
        ar_version = [ ActiveRecord::VERSION::MAJOR, ActiveRecord::VERSION::MINOR, ActiveRecord::VERSION::TINY ]
        if ( ar_version <=> version ) >= 0 # e.g. 4.2.0 > 4.2
          warn_prefix = "NOTE: ActiveRecord #{version.join('.')} with"
        else
          warn_prefix = nil
        end
      end
      warn "#{warn_prefix} adapter: #{adapter} is not (yet) fully supported by AR-JDBC," <<
      " please consider helping us out." if warn_prefix
    end

    def warn(message, once = nil)
      super(message) || true if warn?(message, once)
    end

    def deprecate(message, once = nil) # adds a "DEPRECATION WARNING: " prefix
      ::ActiveSupport::Deprecation.warn(message, caller_locations) || true if warn?(message, once)
    end

    private

    @@warns = nil
    @@warns = false if ENV_JAVA['arjdbc.warn'].eql? 'false'

    def warn?(message, once)
      return nil if @@warns.equal?(false) || ! message
      warns = @@warns ||= ( require 'set'; Set.new )
      return false if warns.include?(message)
      warns << message.dup if once
      true
    end

  end

  require 'arjdbc/jdbc/adapter'

  if ENV_JAVA['arjdbc.extensions.discover'].eql? 'true'
    self.discover_extensions
  else
    require 'arjdbc/discover'
  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
activerecord-jdbc-alt-adapter-61.3.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-61.3-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-60.3.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-61.2.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-70.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-70.0.pre-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-61.2-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-60.2.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-61.1.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-61.1-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-60.4-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-52.8-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-61.0.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-60.1.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-52.6.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-61.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-60.3-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-52.7-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-60.2-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-52.6-java lib/arjdbc/jdbc.rb