Module: QuickCount
- Defined in:
- lib/quick_count.rb,
lib/quick_count/railtie.rb,
lib/quick_count/version.rb,
lib/quick_count/active_record.rb,
lib/quick_count/adapters/base.rb,
lib/quick_count/adapters/mysql.rb,
lib/quick_count/adapters/factory.rb,
lib/quick_count/adapters/postgresql.rb
Defined Under Namespace
Modules: ActiveRecord, Adapters
Classes: Railtie
Constant Summary
collapse
- VERSION =
"0.2.0"
Class Method Summary
collapse
Class Method Details
.count_estimate(query, connection: ::ActiveRecord::Base.connection) ⇒ Object
21
22
23
24
|
# File 'lib/quick_count.rb', line 21
def self.count_estimate(query, connection: ::ActiveRecord::Base.connection)
adapter = create_adapter(connection: connection)
adapter.count_estimate(query)
end
|
.create_adapter(connection:) ⇒ Object
32
33
34
|
# File 'lib/quick_count.rb', line 32
def self.create_adapter(connection:)
Adapters::Factory.create(connection: connection)
end
|
.load ⇒ Object
11
12
13
14
|
# File 'lib/quick_count.rb', line 11
def self.load
::ActiveRecord::Base.include QuickCount::ActiveRecord
::ActiveRecord::Relation.include QuickCount::ActiveRecord
end
|
.quick_count(table_name, threshold: nil, connection: ::ActiveRecord::Base.connection) ⇒ Object
16
17
18
19
|
# File 'lib/quick_count.rb', line 16
def self.quick_count(table_name, threshold: nil, connection: ::ActiveRecord::Base.connection)
adapter = create_adapter(connection: connection)
adapter.quick_count(table_name, threshold: threshold)
end
|
.root ⇒ Object
7
8
9
|
# File 'lib/quick_count.rb', line 7
def self.root
@root ||= Pathname.new(File.dirname(File.expand_path(File.dirname(__FILE__), '/../')))
end
|
.supported_databases ⇒ Object
26
27
28
|
# File 'lib/quick_count.rb', line 26
def self.supported_databases
Adapters::Factory.supported_databases
end
|