class Scenic::Adapters::SqlServer::Views
Attributes
connection[R]
Public Class Methods
new(connection)
click to toggle source
# File lib/scenic/adapters/sql_server/views.rb, line 6 def initialize(connection) @connection = connection end
Public Instance Methods
all()
click to toggle source
# File lib/scenic/adapters/sql_server/views.rb, line 10 def all views_from_sql_server.map(&method(:to_scenic_view)) end
Private Instance Methods
extract_definition(result)
click to toggle source
# File lib/scenic/adapters/sql_server/views.rb, line 34 def extract_definition(result) result['definition'].strip.sub(/\A.*#{result['name']}\W*AS\s*/, '') end
to_scenic_view(result)
click to toggle source
# File lib/scenic/adapters/sql_server/views.rb, line 26 def to_scenic_view(result) Scenic::View.new( name: result['name'], definition: extract_definition(result), materialized: false, ) end
views_from_sql_server()
click to toggle source
# File lib/scenic/adapters/sql_server/views.rb, line 18 def views_from_sql_server connection.exec_query(<<~SQL) SELECT v.name, sm.definition FROM sys.views v INNER JOIN sys.sql_modules sm ON v.object_id = sm.object_id SQL end