edge badge
Methods
E
Instance Public methods
extract_schema_and_table(name)

Returns an array of [schema_name, table_name] extracted from name. schema_name is nil if not specified in name. schema_name and table_name exclude surrounding quotes (regardless of whether provided in name) name supports the range of schema/table references understood by PostgreSQL, for example:

  • table_name

  • "table.name"

  • schema_name.table_name

  • schema_name."table.name"

  • "schema.name"."table name"

# File activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb, line 514
def extract_schema_and_table(name)
  table, schema = name.scan(/[^".\s]+|"[^"]*"/)[0..1].collect{|m| m.gsub(/(^"|"$)/,'') }.reverse
  [schema, table]
end