Class: Sequent::Support::ViewSchema

Inherits:
ActiveRecord::Schema
  • Object
show all
Defined in:
lib/sequent/support/view_schema.rb

Instance Method Summary collapse

Instance Method Details

#define(info, &block) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/sequent/support/view_schema.rb', line 4

def define(info, &block)
  view_projection = info[:view_projection]
  switch_to_schema(view_projection) if view_projection
  super
ensure
  switch_back_to_original_schema if view_projection
end

#switch_back_to_original_schemaObject



17
18
19
# File 'lib/sequent/support/view_schema.rb', line 17

def switch_back_to_original_schema
  connection.schema_search_path = @original_schema_search_path
end

#switch_to_schema(view_projection) ⇒ Object



12
13
14
15
# File 'lib/sequent/support/view_schema.rb', line 12

def switch_to_schema(view_projection)
  @original_schema_search_path = connection.schema_search_path
  connection.schema_search_path = view_projection.schema_name
end