Module: Activerecord::QuietSchemaVersion::Schema::ClassMethods

Defined in:
lib/activerecord/quiet_schema_version/schema.rb

Instance Method Summary collapse

Instance Method Details

#define(info = {}, &block) ⇒ Object



11
12
13
14
# File 'lib/activerecord/quiet_schema_version/schema.rb', line 11

def define(info = {}, &block)
  info[:version] ||= detect_maximum_version # <- monkeypatched this line
  new.define(info, &block)
end

#detect_maximum_versionObject



16
17
18
19
20
21
22
23
# File 'lib/activerecord/quiet_schema_version/schema.rb', line 16

def detect_maximum_version
  migrations_paths = ActiveRecord::Migrator.migrations_paths
  paths = migrations_paths.map { |p| "#{p}/**/[0-9]*_*.rb" }
  versions = Dir[*paths].map do |filename|
    filename.split("/").last.split("_").first.to_i
  end
  versions.max
end