Skip to content

Commit

Permalink
[Ruby] Delegate difference, intersection, union from RepeatedField to…
Browse files Browse the repository at this point in the history
… Array (#15652)

Coming from [[protobuf/issues/15180] [Ruby] Support for currently ignored Array methods in `RepeatedField`](#15180)

This adds a couple of `Array` methods to what gets delegated from `RepeatedField`.

- `intersection`, because `|` was already delegated
- `union`, because `&` was already delegated
- `difference`, because `-` was already delegated

Closes #15652

COPYBARA_INTEGRATE_REVIEW=#15652 from marianosimone:delegate_rb_array_methods 2971981
PiperOrigin-RevId: 604534655
  • Loading branch information
marianosimone authored and Copybara-Service committed Feb 6, 2024
1 parent c98bdc2 commit 11eab86
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
6 changes: 3 additions & 3 deletions ruby/lib/google/protobuf/repeated_field.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ class RepeatedField
def_delegators :to_ary,
:&, :*, :-, :'<=>',
:assoc, :bsearch, :bsearch_index, :combination, :compact, :count,
:cycle, :dig, :drop, :drop_while, :eql?, :fetch, :find_index, :flatten,
:include?, :index, :inspect, :join,
:cycle, :difference, :dig, :drop, :drop_while, :eql?, :fetch, :find_index, :flatten,
:include?, :index, :inspect, :intersection, :join,
:pack, :permutation, :product, :pretty_print, :pretty_print_cycle,
:rassoc, :repeated_combination, :repeated_permutation, :reverse,
:rindex, :rotate, :sample, :shuffle, :shelljoin,
:to_s, :transpose, :uniq, :|
:to_s, :transpose, :union, :uniq, :|


def first(n=nil)
Expand Down
4 changes: 2 additions & 2 deletions ruby/tests/repeated_field_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ def test_acts_like_an_array
arr_methods -= [ :indices, :iter_for_each, :iter_for_each_index,
:iter_for_each_with_index, :dimensions, :copy_data, :copy_data_simple,
:nitems, :iter_for_reverse_each, :indexes, :append, :prepend]
arr_methods -= [:union, :difference, :filter!]
arr_methods -= [:filter!]
# ruby 2.7 methods we can ignore
arr_methods -= [:intersection, :deconstruct, :resolve_feature_path]
arr_methods -= [:deconstruct, :resolve_feature_path]
# ruby 3.1 methods we can ignore
arr_methods -= [:intersect?]
arr_methods.each do |method_name|
Expand Down

0 comments on commit 11eab86

Please sign in to comment.