module AR::Sequence::SchemaDumper

Public Instance Methods

header(stream) click to toggle source
Calls superclass method
# File lib/ar/sequence/schema_dumper.rb, line 6
def header(stream)
  super
  sequences(stream)
end
sequences(stream) click to toggle source
# File lib/ar/sequence/schema_dumper.rb, line 11
def sequences(stream)
  sequences = @connection.check_sequences
  return if sequences.empty?

  sequences.each do |seq|
    start_value = seq["start_value"]
    increment = seq["increment"]

    options = []
    options << "start: #{start_value}" if start_value && Integer(start_value) != 1
    options << "increment: #{increment}" if increment && Integer(increment) != 1

    statement = ["create_sequence", seq["sequence_name"].inspect].join(" ")
    statement << (options.any? ? ", #{options.join(', ')}" : "") if options.any?

    stream.puts "  #{statement}"
  end

  stream.puts
end