Sha256: ac37135b52a172d9b779409b258d31467e57cf7320ae06e5b6d05c057571ecf8

Contents?: true

Size: 888 Bytes

Versions: 1

Compression:

Stored size: 888 Bytes

Contents

module RailsDb
  class SqlController < RailsDb::ApplicationController

    def index
      load_query
    end

    def execute
      load_query
      render :index
    end

    def csv
      load_query
      send_data(@sql_query.to_csv, type: 'text/csv; charset=utf-8; header=present', filename: 'results.csv')
    end

    def xls
      load_query
      render xlsx: 'xls', filename: 'results.xlsx'
    end

    def import
    end

    def import_start
      @importer = SqlImport.new(params[:file])
      result    = @importer.import
      if result.ok?
        flash[:notice] = 'File was successfully imported'
      else
        flash[:alert] = "Error occurred during import: #{result.error.message}"
      end
      render :import
    end


    private

    def load_query
      @sql = "#{params[:sql]}".strip
      @sql_query = RailsDb::SqlQuery.new(@sql).execute
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails_db-0.8 app/controllers/rails_db/sql_controller.rb