Sha256: 8745585ef5f00f9d007808852d49f2fa494efa6d88960365ac29a1675c908076

Contents?: true

Size: 1.54 KB

Versions: 4

Compression:

Stored size: 1.54 KB

Contents

module RailsDb
  class TablesController < RailsDb::ApplicationController

    def index
      @tables = RailsDb::Database.accessible_tables
    end

    def show
      @table = RailsDb::Table.new(params[:id])
    end

    def data
      per_page = params[:per_page] || session[:per_page]
      session[:per_page] = per_page
      @table   = RailsDb::Table.new(params[:table_id]).paginate page: params[:page],
                                                                sort_column: params[:sort_column],
                                                                sort_order: params[:sort_order],
                                                                per_page: per_page
    end

    def csv
      @table = RailsDb::Table.new(params[:table_id])
      send_data(@table.to_csv, type: 'text/csv; charset=utf-8; header=present', filename: "#{@table.name}.csv")
    end

    def truncate
      @table = RailsDb::Table.new(params[:table_id])
      @table.truncate
      render :data
    end

    def destroy
      @table = RailsDb::Table.new(params[:table_id]).paginate page: params[:page],
                                                              sort_column: params[:sort_column],
                                                              sort_order: params[:sort_order],
                                                              per_page: session[:per_page]
      @table.delete(params[:pk_id])
      respond_to do |page|
        page.html { redirect_to action: :data, table_id: params[:table_id] }
        page.js {}
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rails_db-0.7.2 app/controllers/rails_db/tables_controller.rb
rails_db-0.7.1 app/controllers/rails_db/tables_controller.rb
rails_db-0.7 app/controllers/rails_db/tables_controller.rb
rails_db-0.6 app/controllers/rails_db/tables_controller.rb