Sha256: 42891c7434222dc3ab1a95a7f2b7ead44049be476aea2f11d83a418d730fe7f6

Contents?: true

Size: 1.43 KB

Versions: 13

Compression:

Stored size: 1.43 KB

Contents

require 'active_support/deprecation'

module ArJdbc
  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

13 entries across 13 versions & 2 rubygems

Version Path
activerecord-jdbc-alt-adapter-72.0.0.rc1-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-72.0.0.alpha1-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-71.0.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-71.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-71.0.0.alpha2-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-71.0.0.alpha1-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-70.2.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-70.2-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-70.1.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-70.0.0-java lib/arjdbc/jdbc.rb
activerecord-jdbc-adapter-70.1-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-70.0.0.rc2-java lib/arjdbc/jdbc.rb
activerecord-jdbc-alt-adapter-70.0.0.rc1-java lib/arjdbc/jdbc.rb