Class: ActiveRecord::View::Introspection::MySQL
- Inherits:
-
Abstract
- Object
- Abstract
- ActiveRecord::View::Introspection::MySQL
show all
- Defined in:
- lib/activerecord/view/introspection/mysql.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Abstract
#arel_cast, #arel_fn, #arel_quoted, #arel_quoted?, #default_connection, #definition_for, #inspect, #process_view_definition, #select_manager, #views
Instance Attribute Details
#schema_table ⇒ Arel::Table
11
12
13
|
# File 'lib/activerecord/view/introspection/mysql.rb', line 11
def schema_table
@_schema_table ||= Arel::Table.new 'information_schema.views', self
end
|
Instance Method Details
#fetch_view_definition_query(view_name, **options) ⇒ Object
5
6
7
|
# File 'lib/activerecord/view/introspection/mysql.rb', line 5
def fetch_view_definition_query(view_name, **options)
schema_table.project(schema_definition).where(in_current_database.and(view_name_eq(view_name)))
end
|
#in_current_database ⇒ Object
23
24
25
|
# File 'lib/activerecord/view/introspection/mysql.rb', line 23
def in_current_database
schema_table['table_schema'].eq(current_database)
end
|
#schema_definition ⇒ Object
15
16
17
|
# File 'lib/activerecord/view/introspection/mysql.rb', line 15
def schema_definition
schema_table['view_definition']
end
|
#view_name_eq(name) ⇒ Object
19
20
21
|
# File 'lib/activerecord/view/introspection/mysql.rb', line 19
def view_name_eq(name)
schema_table['table_name'].eq(name)
end
|