Merge lp:~leonardr/lazr.restful/refactor-tag-request-with-version into lp:lazr.restful
Proposed by
Leonard Richardson
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~leonardr/lazr.restful/refactor-tag-request-with-version |
Merge into: | lp:lazr.restful |
Diff against target: |
177 lines (+107/-6) 3 files modified
src/lazr/restful/NEWS.txt (+1/-1) src/lazr/restful/docs/webservice-declarations.txt (+98/-2) src/lazr/restful/metazcml.py (+8/-3) |
To merge this branch: | bzr merge lp:~leonardr/lazr.restful/refactor-tag-request-with-version |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gavin Panella | code | Approve | |
Review via email: mp+20547@code.launchpad.net |
To post a comment you must log in.
Ignore the name of this branch; I took care of that feature in another branch.
This branch fixes some edge cases around a recent change to lazr.restful in which mutator methods are no longer published as named operations. The tricky part is that getting rid of the feature altogether would destroy backwards compatibility. I created a configuration variable "last_version_ with_mutator_ named_operation s". The old behavior is maintained in that version and all previous versions. The new behavior holds after that version.
As an example, when I integrate this version of lazr.restful into Launchpad, "last_version_ with_mutator_ named_operation s" will be "beta", and the effect will be that the 'beta' version will not change, but in the '1.0' version, method like 'transitionToSt atus' that merely duplicate a mutator will no longer be present.
So, when preparing to do the Launchpad integration I noticed some bugs in edge cases. If you set l_v_w_m_n_o to None, it's supposed to disable the feature altogether, but that wasn't working. And if you set l_v_w_m_n_o to the latest active version, you're supposed to get the old behavior back, but that wasn't working either. I fixed both bugs and added tests for them.
The first changes in webservice- declarations. txt (changing __name__ to __class__.__name__) fix unrelated test failures that I believe are present in the current trunk.