Class: Nquery::DataSources::Adapter

Inherits:
Object
  • Object
show all
Defined in:
lib/nquery/data_sources/adapter.rb

Direct Known Subclasses

PostgresqlAdapter, RailsAdapter

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_source) ⇒ Adapter

Returns a new instance of Adapter.



17
18
19
# File 'lib/nquery/data_sources/adapter.rb', line 17

def initialize(data_source)
  @data_source = data_source
end

Class Method Details

.for(data_source) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/nquery/data_sources/adapter.rb', line 6

def self.for(data_source)
  case data_source.adapter
  when "rails" then RailsAdapter.new(data_source)
  when "postgresql" then PostgresqlAdapter.new(data_source)
  when "mysql" then MysqlAdapter.new(data_source)
  when "sqlite" then SqliteAdapter.new(data_source)
  else
    raise ArgumentError, "Unknown adapter: #{data_source.adapter}"
  end
end

Instance Method Details

#columns(table_name) ⇒ Object

Raises:

  • (NotImplementedError)


25
26
27
# File 'lib/nquery/data_sources/adapter.rb', line 25

def columns(table_name)
  raise NotImplementedError
end

#execute_readonly(statement, timeout: 15, row_limit: 10_000) ⇒ Object

Raises:

  • (NotImplementedError)


29
30
31
# File 'lib/nquery/data_sources/adapter.rb', line 29

def execute_readonly(statement, timeout: 15, row_limit: 10_000)
  raise NotImplementedError
end

#tablesObject

Raises:

  • (NotImplementedError)


21
22
23
# File 'lib/nquery/data_sources/adapter.rb', line 21

def tables
  raise NotImplementedError
end