Sha256: d149b71030312348f0ffc6c8fc306a2a2127ca0f93dedd3241636e5aa1d70e85

Contents?: true

Size: 710 Bytes

Versions: 3

Compression:

Stored size: 710 Bytes

Contents

require 'csv'

module RailsDb

  class Table
    include Connection

    attr_reader :name, :data

    delegate :count, :to => :data
    delegate :paginate, :to => :data

    def initialize(table_name)
      @name = table_name
      @data = RailsDb::TableData.new(self)
    end

    def columns
      connection.columns(name)
    end

    def column_properties
      %w(name sql_type null limit precision scale type default)
    end

    def to_param
      name
    end

    def column_names
      columns.collect(&:name)
    end

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

  end # module

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails_db-0.2.1 lib/rails_db/table.rb
rails_db-0.2 lib/rails_db/table.rb
rails_db-0.1 lib/rails_db/table.rb