class ViewModel::UpMigrator
def migrate_viewmodel!(view_name, source_version, view_hash, references)
def migrate_viewmodel!(view_name, source_version, view_hash, references) path = @paths[view_name] return false unless path # We assume that an unspecified source version is the same as the required # version. required_version, current_version = @versions[view_name] unless source_version.nil? || source_version == required_version raise ViewModel::Migration::UnspecifiedVersionError.new(view_name, source_version) end path.each do |migration| migration.up(view_hash, references) end view_hash[ViewModel::VERSION_ATTRIBUTE] = current_version true end