Merge lp:~leonardr/lazr.restful/refactor-tag-request-with-version into lp:lazr.restful
Proposed by
Leonard Richardson
on 2010-03-03
| 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 | 2010-03-03 | Approve on 2010-03-03 |
|
Review via email:
|
|||
To post a comment you must log in.
| Leonard Richardson (leonardr) wrote : | # |
| Gavin Panella (allenap) wrote : | # |
This looks good. Only one comment: the doc test is way too long. I don't expect you to change that, it's just my opinion.
review:
Approve
(code)
| Leonard Richardson (leonardr) wrote : | # |
I played around with the doctest some more but couldn't find a good way to reduce the size.

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.