class Ponytail::Schema

Attributes

tables[RW]
version[RW]

Public Class Methods

new(params={}) click to toggle source
Calls superclass method
# File lib/ponytail/schema.rb, line 6
def initialize(params={})
  super(params)
  @version = ActiveRecord::Migrator.current_version
end

Public Instance Methods

as_json(attrs) click to toggle source
# File lib/ponytail/schema.rb, line 30
def as_json(attrs)
  {
    version: version,
    tables: tables
  }
end
update(attrs) click to toggle source
# File lib/ponytail/schema.rb, line 21
def update(attrs)
  @version = attrs["version"].to_i
  if Ponytail.config.update_schema?
    ActiveRecord::Migrator.migrate(ActiveRecord::Migrator.migrations_paths, @version)
  else
    false
  end
end

Private Instance Methods

table_names() click to toggle source
# File lib/ponytail/schema.rb, line 38
def table_names
  ActiveRecord::Base.connection.tables.delete_if { |t| t == ActiveRecord::SchemaMigration.table_name }
end