class ViewModel::Migrator
def initialize(required_versions)
def initialize(required_versions) @paths = required_versions.each_with_object({}) do |(viewmodel_class, required_version), h| if required_version != viewmodel_class.schema_version path = viewmodel_class.migration_path(from: required_version, to: viewmodel_class.schema_version) h[viewmodel_class.view_name] = path end end @versions = required_versions.each_with_object({}) do |(viewmodel_class, required_version), h| h[viewmodel_class.view_name] = [required_version, viewmodel_class.schema_version] end end