Module: Models::DatabaseView::ClassMethods

Defined in:
app/concerns/models/database_view.rb

Instance Method Summary collapse

Instance Method Details

#drop_viewObject



13
14
15
# File 'app/concerns/models/database_view.rb', line 13

def drop_view
  connection.execute("DROP VIEW IF EXISTS #{table_name};")
end

#get_view_sqlObject



31
32
33
34
# File 'app/concerns/models/database_view.rb', line 31

def get_view_sql
  view_sql_path = Rails.root.join('data', 'views', "#{name.tableize}.sql")
  IO.read(view_sql_path)
end

#install_viewObject



17
18
19
20
21
22
23
# File 'app/concerns/models/database_view.rb', line 17

def install_view
  connection.execute <<-EOS
	CREATE VIEW #{table_name} AS
 	#{get_view_sql}
  EOS
  reset_column_information
end

#resetObject



25
26
27
28
29
# File 'app/concerns/models/database_view.rb', line 25

def reset
  drop_view
  install_view
  true
end

#table_nameObject



9
10
11
# File 'app/concerns/models/database_view.rb', line 9

def table_name
  name.tableize.tr('/', '_')
end