module Views::Extensions::ActiveRecord::PostgreSQLAdapter
Public Instance Methods
change_view(name, options={})
click to toggle source
# File lib/views/extensions/active_record/postgresql_adapter.rb, line 16 def change_view(name, options={}) drop_view name create_view name, options end
create_view(name, options={})
click to toggle source
# File lib/views/extensions/active_record/postgresql_adapter.rb, line 7 def create_view(name, options={}) if options[:force] execute "DROP VIEW IF EXISTS #{name}" end path = Rails.root.join("db/views/#{name}.sql") definition = File.read(path) execute "CREATE VIEW #{name} AS #{definition}" end
drop_view(name)
click to toggle source
# File lib/views/extensions/active_record/postgresql_adapter.rb, line 21 def drop_view(name) execute "DROP VIEW #{name}" end
views()
click to toggle source
# File lib/views/extensions/active_record/postgresql_adapter.rb, line 25 def views execute <<-SQL SELECT c.relname as name, c.relkind AS type FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ('v') AND n.nspname = ANY (current_schemas(false)) ORDER BY c.oid ASC SQL end