Sha256: 2100946c573d42edf71c72faa6a6a301d8fdf3726099abd81eff119fbd3610ec

Contents?: true

Size: 595 Bytes

Versions: 1

Compression:

Stored size: 595 Bytes

Contents

module ActiveRecord
  module PGEnum
    module PostgreSQLAdapter
      def enum_types
        res = exec_query(<<-SQL.strip_heredoc, "SCHEMA").cast_values
          SELECT t.typname AS enum_name, string_agg(e.enumlabel, ' ' ORDER BY e.enumsortorder) AS enum_value
          FROM pg_type t
          JOIN pg_enum e ON t.oid = e.enumtypid
          JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
          WHERE n.nspname = 'public'
          GROUP BY enum_name
        SQL

        res.map do |(name, values)|
          [name, values.split(" ")]
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activerecord-pg_enum-0.0.1 lib/active_record/pg_enum/postgresql_adapter.rb