Add "scope" support to Docker::Event (#593) #594
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Resolves #593 by:
scopeto the Docker::Event class.Discussion
The refactoring simplifies the Docker::Event interface and brings it closer to that of the other Docker:: classes. Users can access the normalized event data via
event.infoandevent.actor.info. Since the Docker API uses a mix of camelCase and PascalCase strings as response keys, theinfokeys are normalized to downcased symbols and helper methods have been added.For example:
I would discourage users from using the alias methods (
event.Actor,event.Type, etc.), but I kept them in for backwards-compatibility.Since Docker Engine Events are read-only, I modified the Event class to remove mutability where it was possible (specifically,
event.actor=).Finally, as can be seen in the above example, I added the
scopeattribute along with a test.Check Failures
As of run 14625174071, it looks like the pipeline itself is broken. The relevant event_spec tests pass, but all podman tests fail and some docker tests fail with an unrelated error ("private method `resource' called for an instance of Docker::Connection").