module Scenic::SchemaDumper

@api private

Public Instance Methods

tables(stream) click to toggle source
Calls superclass method
# File lib/scenic/schema_dumper.rb, line 6
def tables(stream)
  super
  views(stream)
end
views(stream) click to toggle source
# File lib/scenic/schema_dumper.rb, line 11
def views(stream)
  if dumpable_views_in_database.any?
    stream.puts
  end

  dumpable_views_in_database.each do |view|
    stream.puts(view.to_schema)
    indexes(view.name, stream)
  end
end

Private Instance Methods

dumpable_views_in_database() click to toggle source
# File lib/scenic/schema_dumper.rb, line 24
def dumpable_views_in_database
  @dumpable_views_in_database ||= Scenic.database.views.reject do |view|
    ignored?(view.name)
  end
end
ignored?(table_name) click to toggle source

This method will be present in Rails 4.2.0 and can be removed then.

# File lib/scenic/schema_dumper.rb, line 32
def ignored?(table_name)
  ["schema_migrations", ignore_tables].flatten.any? do |ignored|
    case ignored
    when String then remove_prefix_and_suffix(table_name) == ignored
    when Regexp then remove_prefix_and_suffix(table_name) =~ ignored
    else
      raise StandardError, "ActiveRecord::SchemaDumper.ignore_tables accepts an array of String and / or Regexp values."
    end
  end
end