kou commented on code in PR #34902:
URL: https://github.com/apache/arrow/pull/34902#discussion_r1158175613


##########
ruby/red-arrow/test/test-slicer.rb:
##########
@@ -484,4 +488,29 @@ def setup
 7         256  true   
     TABLE
   end
+
+  test("match_substring") do

Review Comment:
   Could you create sub test case and move `@string_table = ...` to here?
   
   ```ruby
   sub_test_case("#match_substring") do
     def setup
       super # Not needed?
       # index: is needed?
       @table = Arrow::Table.new(index: [*1..5], string: ["array", "Arrow", 
"carrot", nil, "window"])
     end
     
     test("String") do
     end
   
     test("String, ignore_case:") do
     end
   end
   ```



##########
ruby/red-arrow/lib/arrow/slicer.rb:
##########
@@ -351,5 +355,18 @@ def evaluate
         BooleanArray.new(raw_array)
       end
     end
+
+    class MatchSubstringCondition < Condition
+      def initialize(column, substring, ignore_case)
+        @column = column
+        @options = MatchSubstringOptions.new
+        @options.pattern = substring
+        @options.ignore_case = true if ignore_case

Review Comment:
   ```suggestion
           @options.ignore_case = ignore_case
   ```



##########
ruby/red-arrow/lib/arrow/slicer.rb:
##########
@@ -162,6 +162,10 @@ def select(&block)
       def reject(&block)
         RejectCondition.new(@column, block)
       end
+
+      def match_substring(substring, ignore_case: false)
+        MatchSubstringCondition.new(@column, substring, ignore_case)

Review Comment:
   How about making this reusable for other `match_substring` family functions?
   
   ```suggestion
           MatchSubstringFamilyCondition.new("match_substring", @column, 
substring, ignore_case)
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to