Class: PSQL::Table

Inherits:
Object
  • Object
show all
Defined in:
lib/psql/table.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, dbname) ⇒ Table

Returns a new instance of Table.



6
7
8
# File 'lib/psql/table.rb', line 6

def initialize( name, dbname )
  @name, @dbname = name, dbname
end

Instance Attribute Details

#dbnameObject (readonly)

Returns the value of attribute dbname.



9
10
11
# File 'lib/psql/table.rb', line 9

def dbname
  @dbname
end

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/psql/table.rb', line 9

def name
  @name
end

Instance Method Details

#column(column_name) ⇒ Object Also known as: []



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/psql/table.rb', line 13

def column( column_name )
  column = columns.find do |col|
    col[ 'name' ] == column_name
  end

  if !column
    raise "Table #{name} does not have a column named '#{column_name}'."
  end

  Column.new column[ 'name' ], column[ 'type' ], column[ 'modifiers' ]
end

#column_namesObject



26
27
28
# File 'lib/psql/table.rb', line 26

def column_names
  columns.map { |col| col[ 'name' ] }
end