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



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

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



19
20
21
# File 'lib/sequent/support/view_schema.rb', line 19

def switch_back_to_original_schema
  connection.schema_search_path = @original_schema_search_path
end

#switch_to_schema(view_projection) ⇒ Object



14
15
16
17
# File 'lib/sequent/support/view_schema.rb', line 14

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