class MonkeyButler::Migrations
Attributes
database[R]
path[R]
Public Class Methods
new(path, database)
click to toggle source
# File lib/monkey_butler/migrations.rb, line 5 def initialize(path, database) @path = path @database = database migration_paths = Dir.glob(File.join(path, "*#{database.class.migration_ext}")) @paths_by_version = MonkeyButler::Util.migrations_by_version(migration_paths) end
Public Instance Methods
[](version)
click to toggle source
# File lib/monkey_butler/migrations.rb, line 48 def [](version) @paths_by_version[version] end
all(&block)
click to toggle source
# File lib/monkey_butler/migrations.rb, line 38 def all(&block) all_versions.inject({}) { |hash, v| hash[v] = self[v]; hash }.tap do |hash| hash.each(&block) if block_given? end end
all_versions()
click to toggle source
# File lib/monkey_butler/migrations.rb, line 16 def all_versions @paths_by_version.keys end
applied_versions()
click to toggle source
# File lib/monkey_butler/migrations.rb, line 24 def applied_versions database.migrations_table? ? database.all_versions : [] end
current_version()
click to toggle source
# File lib/monkey_butler/migrations.rb, line 12 def current_version database.migrations_table? ? database.current_version : nil end
latest_version()
click to toggle source
# File lib/monkey_butler/migrations.rb, line 20 def latest_version all_versions.max end
pending(&block)
click to toggle source
# File lib/monkey_butler/migrations.rb, line 32 def pending(&block) pending_versions.inject({}) { |hash, v| hash[v] = self[v]; hash }.tap do |hash| hash.each(&block) if block_given? end end
pending_versions()
click to toggle source
# File lib/monkey_butler/migrations.rb, line 28 def pending_versions (all_versions - applied_versions).sort end
up_to_date?()
click to toggle source
# File lib/monkey_butler/migrations.rb, line 44 def up_to_date? pending_versions.empty? end