module ActiveRecord::PostgresEnum::SchemaDumper

provide support for writing out the 'create_enum' calls in schema.rb

Public Instance Methods

tables(stream) click to toggle source
Calls superclass method
# File lib/active_record/postgres_enum/schema_dumper.rb, line 7
def tables(stream)
  dump_enums(stream)

  super
end

Private Instance Methods

dump_enums(stream) click to toggle source
# File lib/active_record/postgres_enum/schema_dumper.rb, line 15
def dump_enums(stream)
  statements = []
  if @connection.respond_to?(:enums)
    @connection.enums.each do |name, values|
      values = values.map { |v| "    #{v.inspect}," }.join("\n")
      statements << "  create_enum #{name.inspect}, [\n#{values}\n  ], force: :cascade"
    end

    stream.puts statements.join("\n\n")
    stream.puts
  end
end