module RailsSqlViews4::ConnectionAdapters::AbstractAdapter

Public Class Methods

included(base) click to toggle source
# File lib/rails_sql_views4/connection_adapters/abstract_adapter.rb, line 4
def self.included(base)
  base.alias_method_chain :disable_referential_integrity, :views_excluded
end

Public Instance Methods

disable_referential_integrity_with_views_excluded(&block) click to toggle source
# File lib/rails_sql_views4/connection_adapters/abstract_adapter.rb, line 18
def disable_referential_integrity_with_views_excluded(&block)
  self.class.send(:alias_method, :original_tables_method, :tables)
  self.class.send(:alias_method, :tables, :base_tables)
  disable_referential_integrity_without_views_excluded(&block)
ensure
  self.class.send(:alias_method, :tables, :original_tables_method)
end
supports_drop_table_cascade?() click to toggle source

Subclasses should override and return false if they don’t support CASCADE

# File lib/rails_sql_views4/connection_adapters/abstract_adapter.rb, line 14
def supports_drop_table_cascade?
  return true
end
supports_view_columns_definition?() click to toggle source
# File lib/rails_sql_views4/connection_adapters/abstract_adapter.rb, line 26
def supports_view_columns_definition?
  true
end
supports_views?() click to toggle source

Subclasses should override and return true if they support views.

# File lib/rails_sql_views4/connection_adapters/abstract_adapter.rb, line 9
def supports_views?
  return false
end
view_select_statement(view, name=nil) click to toggle source

Get the select statement for the specified view

# File lib/rails_sql_views4/connection_adapters/abstract_adapter.rb, line 36
def view_select_statement(view, name=nil)
  raise NotImplementedError, "view_select_statement is an abstract method"
end
views(name = nil) click to toggle source

Get a list of all views for the current database

# File lib/rails_sql_views4/connection_adapters/abstract_adapter.rb, line 31
def views(name = nil)
  raise NotImplementedError, "views is an abstract method"
end