RObject#links is an Array, not a Set, if the object is returned by Bucket#get_or_new() #123
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.
In riak-client 1.4.1, the behavior of RObject#links is different based on two scenarios. If you do Bucket#get_or_new() and that key does not exist, links is a Set (which makes sense and is the intended behavior I believe).
If you do Bucket#get_or_new() and the key did exist and the method is just returning that stored document, #links is an array. This inadvertently lets you add the same link more than one time to a document, then store it again.
I am using ruby 2.0.0p195 and riak-client 1.4.1 and can re-create this every time.