might want to perform a refactoring on more than one project.
+ class MultiProjectRefactoring(object):
+ def __init__(self, refactoring, projects):
+ """Create a multiproject proxy for the main refactoring
- class ProjectBag(object):
+ `projects` are other project.
- class PyCoreBag(object):
- class HistoryBag(object):
+ def __call__(self, project, *args, **kwds):
+ """Create the refactoring"""
+ def get_all_changes(self, *args, **kwds):
+ """Get a project to changes dict"""
-* Implementing `ProjectBag` and `PyCoreBag`
-* Changing checks like ``resource.project == resource.no_project()``
- with ``resource.project != project``
-* When saving objects SOI we should consider resource in other
- projects like `NoProject` resources
-* Using history on different projects
-Passing all projects to refactorings:
-Actually we can do that even now. What we should do is to add the
-dependency projects to the class path and try to apply the refactoring
-for each dependent project. The dependencies don't change but the
-dependants do. After that we can apply the refactoring on the
+* Resources from other projects should be considered out of project
+* Specifying the main project
+* Adding ``rope.refactor.multiproject.perform``