class DbCompile::View
Public Instance Methods
build_path()
click to toggle source
# File lib/dbcompile/view.rb, line 3 def build_path @path = File.join('views', "#{name}.sql") end
source()
click to toggle source
# File lib/dbcompile/view.rb, line 7 def source case ActiveRecord::Base.connection.class.to_s when "ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter" "CREATE OR REPLACE VIEW #{name} AS #{super}" else "DROP VIEW IF EXISTS #{name} CASCADE; CREATE VIEW #{name} AS #{super}" end end
verify()
click to toggle source
# File lib/dbcompile/view.rb, line 16 def verify sql = nil case ActiveRecord::Base.connection.class.to_s when 'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter' sql = "SELECT viewname FROM pg_catalog.pg_views WHERE viewname = '#{name}'" when "ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter" sql = "SELECT lower(view_name) FROM user_views WHERE lower(view_name) = lower('#{name}')" else raise "data dictionary query for adapter #{ActiveRecord::Base.connection.class.to_s} not defined" end require 'ckuru-tools' ckebug 0, sql return does_one_exist?(sql) end