Module: ArJdbc
- Defined in:
- lib/arjdbc/discover.rb,
lib/arjdbc/jdbc.rb,
lib/arjdbc/railtie.rb,
lib/arjdbc/version.rb,
lib/arjdbc/db2/as400.rb,
lib/arjdbc/db2/column.rb,
lib/arjdbc/h2/adapter.rb,
lib/arjdbc/db2/adapter.rb,
lib/arjdbc/abstract/core.rb,
lib/arjdbc/derby/adapter.rb,
lib/arjdbc/hsqldb/adapter.rb,
lib/arjdbc/jdbc/extension.rb,
lib/arjdbc/oracle/adapter.rb,
lib/arjdbc/sybase/adapter.rb,
lib/arjdbc/sqlite3/adapter.rb,
lib/arjdbc/firebird/adapter.rb,
lib/arjdbc/informix/adapter.rb,
lib/arjdbc/postgresql/column.rb,
lib/arjdbc/util/quoted_cache.rb,
lib/arjdbc/util/table_copier.rb,
lib/arjdbc/postgresql/adapter.rb,
lib/arjdbc/postgresql/oid_types.rb,
lib/arjdbc/tasks/database_tasks.rb,
lib/arjdbc/derby/schema_creation.rb,
lib/arjdbc/hsqldb/explain_support.rb,
lib/arjdbc/hsqldb/schema_creation.rb,
lib/arjdbc/jdbc/connection_methods.rb,
lib/arjdbc/tasks/h2_database_tasks.rb,
lib/arjdbc/abstract/statement_cache.rb,
lib/arjdbc/tasks/db2_database_tasks.rb,
lib/arjdbc/tasks/jdbc_database_tasks.rb,
lib/arjdbc/tasks/derby_database_tasks.rb,
lib/arjdbc/tasks/mssql_database_tasks.rb,
lib/arjdbc/util/serialized_attributes.rb,
lib/arjdbc/tasks/hsqldb_database_tasks.rb,
lib/arjdbc/abstract/database_statements.rb,
lib/arjdbc/abstract/transaction_support.rb,
lib/arjdbc/abstract/connection_management.rb
Overview
this file is discovered by the extension mechanism
Defined Under Namespace
Modules: AS400, Abstract, DB2, Derby, Firebird, H2, HSQLDB, Informix, Oracle, PostgreSQL, SQLite3, Sybase, Tasks, Util Classes: Railtie
Constant Summary collapse
- VERSION =
'60.4'
- JDBC_GEM_ROOT =
File.("../../../..", __FILE__) + "/"
- FireBird =
Firebird
- ConnectionMethods =
::ActiveRecord::ConnectionHandling
- @@warns =
false
Class Method Summary collapse
-
.deprecate(message, once = nil) ⇒ Object
adds a "DEPRECATION WARNING: " prefix.
-
.extension(name, &block) ⇒ Object
Defines an AR-JDBC extension.
- .warn(message, once = nil) ⇒ Object
Instance Method Summary collapse
Class Method Details
.deprecate(message, once = nil) ⇒ Object
adds a "DEPRECATION WARNING: " prefix
32 33 34 |
# File 'lib/arjdbc/jdbc.rb', line 32 def deprecate(, once = nil) # adds a "DEPRECATION WARNING: " prefix ::ActiveSupport::Deprecation.warn(, caller_locations) || true if warn?(, once) end |
.extension(name, &block) ⇒ Object
Defines an AR-JDBC extension. An extension consists of a declaration using this method and an ArJdbc::XYZ module that contains implementation and overrides for methods in ActiveRecord::ConnectionAdapters::AbstractAdapter. When you declare your extension, you provide a block that detects when a database configured to use the extension is present and loads the necessary code for it. AR-JDBC will patch the code into the base JdbcAdapter by extending an instance of it with your extension module.
+name+ the name of a module to be defined under the +ArJdbc+ module.
+block+ should be a one- or two-arity block that receives the dialect name or driver class name as the first argument, and optionally the whole database configuration hash as a second argument
Example:
ArJdbc.extension :FRoB do |name| if name =~ /frob/i require 'arjdbc/frob' # contains ArJdbc::FRoB true end end
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/arjdbc/jdbc/extension.rb', line 28 def self.extension(name, &block) if const_defined?(name) mod = const_get(name) else mod = const_set(name, Module.new) end (class << mod; self; end).instance_eval do define_method :adapter_matcher do |_name, config| if block.arity == 1 block.call(_name) ? mod : false else block.call(_name, config) ? mod : false end end end unless mod.respond_to?(:adapter_matcher) end |
.warn(message, once = nil) ⇒ Object
28 29 30 |
# File 'lib/arjdbc/jdbc.rb', line 28 def warn(, once = nil) super() || true if warn?(, once) end |
Instance Method Details
#schema_creation ⇒ Object
11 12 13 |
# File 'lib/arjdbc/derby/schema_creation.rb', line 11 def schema_creation SchemaCreation.new self end |