[Groonga-commit] droonga/fluent-plugin-droonga at 6b61b3b [master] Extract shared logic to validate numeric values

Back to archive index

YUKI Hiroshi null+****@clear*****
Wed Feb 12 15:23:40 JST 2014


YUKI Hiroshi	2014-02-12 15:23:40 +0900 (Wed, 12 Feb 2014)

  New Revision: 6b61b3b1a23a7b92ed807747293962d4e61b8bb9
  https://github.com/droonga/fluent-plugin-droonga/commit/6b61b3b1a23a7b92ed807747293962d4e61b8bb9

  Message:
    Extract shared logic to validate numeric values

  Modified files:
    lib/droonga/catalog/base.rb

  Modified: lib/droonga/catalog/base.rb (+28 -26)
===================================================================
--- lib/droonga/catalog/base.rb    2014-02-12 15:19:36 +0900 (b1ce9de)
+++ lib/droonga/catalog/base.rb    2014-02-12 15:23:40 +0900 (0fc953d)
@@ -190,6 +190,27 @@ module Droonga
         end
       end
 
+      def validate_positive_numeric_parameter(value, name)
+        validate_parameter_type(value, name, Numeric)
+        if value < 0
+          raise NegativeNumber.new(name, value, @path)
+        end
+      end
+
+      def validate_positive_integer_parameter(value, name)
+        validate_parameter_type(value, name, Integer)
+        if value < 0
+          raise NegativeNumber.new(name, value, @path)
+        end
+      end
+
+      def validate_one_or_larger_integer_parameter(value, name)
+        validate_parameter_type(value, name, Integer)
+        if value < 1
+          raise SmallerThanOne.new(name, value, @path)
+        end
+      end
+
       def validate_farms
         farms = @data["farms"]
 
@@ -207,27 +228,12 @@ module Droonga
       def validate_dataset(dataset, name)
         validate_parameter_type(dataset, name, Hash)
 
-        n_partitions = dataset["number_of_partitions"]
-        validate_parameter_type(n_partitions,
-                                "#{name}.number_of_partitions",
-                                Integer)
-        if n_partitions < 1
-          raise SmallerThanOne.new("#{name}.number_of_partitions", n_partitions, @path)
-        end
-
-        n_replicas = dataset["number_of_replicas"]
-        validate_parameter_type(n_replicas,
-                                "#{name}.number_of_replicas",
-                                Integer)
-        if n_replicas < 1
-          raise SmallerThanOne.new("#{name}.number_of_replicas", n_replicas, @path)
-        end
-
-        n_workers = dataset["workers"]
-        validate_parameter_type(n_workers, "#{name}.workers", Integer)
-        if n_workers < 0
-          raise NegativeNumber.new("#{name}.workers", n_workers, @path)
-        end
+        validate_one_or_larger_integer_parameter(dataset["number_of_partitions"],
+                                                 "#{name}.number_of_partitions")
+        validate_one_or_larger_integer_parameter(dataset["number_of_replicas"],
+                                                 "#{name}.number_of_replicas")
+        validate_positive_integer_parameter(dataset["workers"],
+                                            "#{name}.workers")
 
         validate_parameter_type(dataset["ring"],
                                 "#{name}.ring",
@@ -237,11 +243,7 @@ module Droonga
       def validate_ring(ring, name)
         validate_parameter_type(ring, name, Hash)
 
-        weight = ring["weight"]
-        validate_parameter_type(weight, "#{name}.weight", Numeric)
-        if weight < 0
-          raise NegativeNumber.new("#{name}.weight", weight, @path)
-        end
+        validate_positive_numeric_parameter(ring["weight"], "#{name}.weight")
       end
     end
   end
-------------- next part --------------
HTML����������������������������...
Download 



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