[Groonga-commit] ranguba/groonga-client at 7501860 [master] Deprecate filter("column", value)

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Apr 27 11:47:35 JST 2017


Kouhei Sutou	2017-04-27 11:47:35 +0900 (Thu, 27 Apr 2017)

  New Revision: 7501860b3255b80ed59a0e762b25a6346af6c9ad
  https://github.com/ranguba/groonga-client/commit/7501860b3255b80ed59a0e762b25a6346af6c9ad

  Message:
    Deprecate filter("column", value)
    
    Use filter(:column, value) instead.

  Modified files:
    lib/groonga/client/request/select.rb
    test/request/select/test-filter.rb

  Modified: lib/groonga/client/request/select.rb (+24 -18)
===================================================================
--- lib/groonga/client/request/select.rb    2017-04-27 11:43:18 +0900 (c5393a0)
+++ lib/groonga/client/request/select.rb    2017-04-27 11:47:35 +0900 (6f1d1f4)
@@ -121,7 +121,9 @@ module Groonga
             else
               expression = "%{column} == %{value}"
               column_name = expression_or_column_name
-              column_name = column_name.to_sym if column_name.is_a?(String)
+              column_name = Filter.column_namify(column_name,
+                                                 "first",
+                                                 "#{self.class}\##{__method__}")
               values = {
                 column: column_name,
                 value: values_or_value,
@@ -199,6 +201,19 @@ module Groonga
 
         # @since 0.4.3
         class Filter
+          class << self
+            # @private
+            def column_namify(column_name, ith, signature)
+              return column_name unless column_name.is_a?(String)
+
+              message = "column name (the #{ith} argument) of #{signature} "
+              message << "should be Symbol: #{column_name.inspect}: "
+              message << caller(2, 1)[0]
+              warn(message)
+              column_name.to_sym
+            end
+          end
+
           def initialize(request)
             @request = request
           end
@@ -304,9 +319,10 @@ module Groonga
           def between(column_name, min, min_border, max, max_border)
             # TODO: Accept not only column name but also literal as
             # the first argument.
-            column_name = column_namify(column_name,
-                                        "first",
-                                        "#{self.class}\##{__method__}")
+            column_name =
+              self.class.column_namify(column_name,
+                                       "first",
+                                       "#{self.class}\##{__method__}")
             expression = "between(%{column_name}"
             expression << ", %{min}"
             expression << ", %{min_border}"
@@ -351,9 +367,10 @@ module Groonga
 
             # TODO: Accept not only column name but also literal as
             # the first argument.
-            column_name = column_namify(column_name,
-                                        "first",
-                                        "#{self.class}\##{__method__}")
+            column_name =
+              self.class.column_namify(column_name,
+                                       "first",
+                                       "#{self.class}\##{__method__}")
             expression_values = {column_name: column_name}
             expression = "in_values(%{column_name}"
             values.each_with_index do |value, i|
@@ -363,17 +380,6 @@ module Groonga
             expression << ")"
             @request.filter(expression, expression_values)
           end
-
-          private
-          def column_namify(column_name, ith, signature)
-            return column_name unless column_name.is_a?(String)
-
-            message = "column name (the #{ith} argument) of #{signature} "
-            message << "should be Symbol: #{column_name.inspect}: "
-            message << caller(2, 1)[0]
-            warn(message)
-            column_name.to_sym
-          end
         end
 
         class LabeledDrilldown

  Modified: test/request/select/test-filter.rb (+12 -22)
===================================================================
--- test/request/select/test-filter.rb    2017-04-27 11:43:18 +0900 (5b1eeda)
+++ test/request/select/test-filter.rb    2017-04-27 11:47:35 +0900 (d8886aa)
@@ -138,22 +138,12 @@ title == "[\"He\\ llo\"]"
     end
   end
 
-  sub_test_case("column name") do
-    test("String") do
-      assert_equal({
-                     :table => "posts",
-                     :filter => "_key == 29",
-                   },
-                   filter("_key", 29))
-    end
-
-    test("Symbol") do
-      assert_equal({
-                     :table => "posts",
-                     :filter => "_key == 29",
-                   },
-                   filter(:_key, 29))
-    end
+  test("column name") do
+    assert_equal({
+                   :table => "posts",
+                   :filter => "_key == 29",
+                 },
+                 filter(:_key, 29))
   end
 
   sub_test_case("value") do
@@ -165,7 +155,7 @@ title == "[\"He\\ llo\"]"
                      :table => "posts",
                      :filter => filter,
                    },
-                   filter("title", "[\"He\\ llo\"]"))
+                   filter(:title, "[\"He\\ llo\"]"))
     end
 
     sub_test_case("Symbol") do
@@ -174,7 +164,7 @@ title == "[\"He\\ llo\"]"
                        :table => "posts",
                        :filter => "title == normalized_title",
                      },
-                     filter("title", :normalized_title))
+                     filter(:title, :normalized_title))
       end
 
       test("invalid ID") do
@@ -182,7 +172,7 @@ title == "[\"He\\ llo\"]"
                        :table => "posts",
                        :filter => "title == \"Hello World\"",
                      },
-                     filter("title", :"Hello World"))
+                     filter(:title, :"Hello World"))
       end
     end
 
@@ -191,7 +181,7 @@ title == "[\"He\\ llo\"]"
                      :table => "posts",
                      :filter => "age == 29",
                    },
-                   filter("age", 29))
+                   filter(:age, 29))
     end
 
     test("true") do
@@ -199,7 +189,7 @@ title == "[\"He\\ llo\"]"
                      :table => "posts",
                      :filter => "published == true",
                    },
-                   filter("published", true))
+                   filter(:published, true))
     end
 
     test("false") do
@@ -207,7 +197,7 @@ title == "[\"He\\ llo\"]"
                      :table => "posts",
                      :filter => "published == false",
                    },
-                   filter("published", false))
+                   filter(:published, false))
     end
   end
 
-------------- next part --------------
HTML����������������������������...
下載 



More information about the Groonga-commit mailing list
Back to archive index