Module: PgEnum

Extended by:
ActiveSupport::Concern
Defined in:
lib/pg_enum.rb

Defined Under Namespace

Modules: MigrationHelpers Classes: Railtie

Constant Summary collapse

ENUM_SQL =
"SELECT t.typname AS name, e.enumlabel AS value\n  FROM pg_enum e\n  JOIN pg_type t\n    ON e.enumtypid = t.oid\n".squish

Class Method Summary collapse

Class Method Details

.enum_rows(connection) ⇒ Object



25
26
27
# File 'lib/pg_enum.rb', line 25

def self.enum_rows(connection)
  connection.select_all(ENUM_SQL)
end

.load_enums_hash(connection) ⇒ Object



19
20
21
22
23
# File 'lib/pg_enum.rb', line 19

def self.load_enums_hash(connection)
  self.enums_hash = enum_rows(connection).each_with_object({}) do |row, hash|
    hash.deep_merge!(row["name"] => { row["value"].to_sym => row["value"] })
  end
end