Sha256: 9f3bd550909e42cdd2885f3cb4a22c40566fe6f092f0ad6c8a609e5ad415e3c9

Contents?: true

Size: 691 Bytes

Versions: 2

Compression:

Stored size: 691 Bytes

Contents

module SchemaPlus::Views
  module ActiveRecord
    module ConnectionAdapters
      module Sqlite3Adapter

        def view_full_definition(view_name, name = nil)
          data = SchemaMonkey::Middleware::Schema::ViewDefinition.start(connection: self, view_name: view_name, query_name: name, view_type: :view) { |env|
            sql = env.connection.execute("SELECT sql FROM sqlite_master WHERE type='view' AND name=#{quote(env.view_name)}", env.query_name).collect{|row| row["sql"]}.first
            sql.sub!(/^CREATE VIEW \S* AS\s+/im, '') unless sql.nil?
            env.definition = sql
          }

          [data.definition, data.view_type]
        end

      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
schema_plus_views-0.4.1 lib/schema_plus/views/active_record/connection_adapters/sqlite3_adapter.rb
schema_plus_views-0.4.0 lib/schema_plus/views/active_record/connection_adapters/sqlite3_adapter.rb