Sha256: 76652943369f9c3cae9a804f95530f9609fd168776bfbf99e75be382f4fa5b08

Contents?: true

Size: 737 Bytes

Versions: 42

Compression:

Stored size: 737 Bytes

Contents

module RailsDb
  class SqlQuery
    include Connection

    attr_reader :query, :data, :explain, :sql_explain

    def initialize(query, sql_explain = true)
      @query       = query
      @sql_explain = sql_explain
    end

    def valid?
      query.present?
    end

    def load_explain
      @explain ||= SqlExplain.new(self).load_data
    end

    def load_data
      @data    ||= SqlQueryData.new(self).load_data
    end

    def execute
      if valid?
        load_data
        load_explain if sql_explain
        History.add(query)
      end
      self
    end

    def to_csv
      CSV.generate do |csv|
        csv << data.columns
        data.rows.each do |row|
          csv << row
        end
      end
    end

  end
end

Version data entries

42 entries across 42 versions & 2 rubygems

Version Path
rails_db-2.4.5 lib/rails_db/sql_query.rb
rails_db-2.4.4 lib/rails_db/sql_query.rb
rails_db-2.4.3 lib/rails_db/sql_query.rb
rails_db-2.4.2 lib/rails_db/sql_query.rb
rails_db-2.4.1 lib/rails_db/sql_query.rb
rails_db-2.4.0 lib/rails_db/sql_query.rb
rails_db-2.3.1 lib/rails_db/sql_query.rb
rails_db-2.3.0 lib/rails_db/sql_query.rb
rails_db-2.2.1 lib/rails_db/sql_query.rb
rails_db-2.2.0 lib/rails_db/sql_query.rb
rails_db-2.1.1 lib/rails_db/sql_query.rb
rails_db-2.1.0 lib/rails_db/sql_query.rb
rails_db-2.0.6 lib/rails_db/sql_query.rb
rails_db-2.0.5 lib/rails_db/sql_query.rb
rails_db-2.0.4 lib/rails_db/sql_query.rb
xplore-0.0.1.alpha lib/rails_db/sql_query.rb
rails_db-2.0.3 lib/rails_db/sql_query.rb
rails_db-2.0.2 lib/rails_db/sql_query.rb
rails_db-2.0.1 lib/rails_db/sql_query.rb
rails_db-2.0.0 lib/rails_db/sql_query.rb