Module: AR::Enum::SchemaDumper

Defined in:
lib/ar/enum/schema_dumper.rb

Instance Method Summary collapse

Instance Method Details

#enum_types(stream) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/ar/enum/schema_dumper.rb', line 11

def enum_types(stream)
  list = @connection.enum_types.to_a.sort_by {|type| type["name"] }

  stream.puts("  # These are enum types available on this database") if list.any?

  list.each do |row|
    labels = row["labels"].split(",")
    name = row["name"].to_sym

    statement = [
      "  create_enum",
      "#{name.inspect},",
      labels.inspect
    ].join(" ")

    stream.puts(statement)
  end

  stream.puts
end

#header(stream) ⇒ Object



6
7
8
9
# File 'lib/ar/enum/schema_dumper.rb', line 6

def header(stream)
  super
  enum_types(stream)
end