module RailsSqlViews4::ConnectionAdapters::SQLServerAdapter

Public Instance Methods

base_tables(name = nil) click to toggle source

Get all of the non-view tables from the currently connected schema

# File lib/rails_sql_views4/connection_adapters/sqlserver_adapter.rb, line 10
def base_tables(name = nil)
  # this is untested
  select_values("SELECT table_name FROM information_schema.tables", name)
end
Also aliased as: nonview_tables
nonview_tables(name = nil)
Alias for: base_tables
supports_views?() click to toggle source

Returns true as this adapter supports views.

# File lib/rails_sql_views4/connection_adapters/sqlserver_adapter.rb, line 5
def supports_views?
  true
end
view_select_statement(view, name=nil) click to toggle source

Get the view select statement for the specified view.

# File lib/rails_sql_views4/connection_adapters/sqlserver_adapter.rb, line 22
      def view_select_statement(view, name=nil)
        q =<<-ENDSQL
          SELECT view_definition FROM information_schema.views
          WHERE table_name = '#{view}'
        ENDSQL
        
        view_def = select_value(q, name)
        
        if view_def
          return convert_statement(view_def)
        else
          raise "No view called #{view} found"
        end
      end
views(name = nil) click to toggle source

Returns all the view names from the currently connected schema.

# File lib/rails_sql_views4/connection_adapters/sqlserver_adapter.rb, line 17
def views(name = nil)
  select_values("SELECT table_name FROM information_schema.views", name)
end

Private Instance Methods

convert_statement(s) click to toggle source
# File lib/rails_sql_views4/connection_adapters/sqlserver_adapter.rb, line 38
def convert_statement(s)
  s.sub(/^CREATE.* AS (select .*)/i, '\1').gsub(/\n/, '')
end