Kouhei Sutou 2017-07-23 15:24:44 +0900 (Sun, 23 Jul 2017)
New Revision: c7c09fa68ecd6c72c4d30ed65af529d496c26877
https://github.com/ruby-gnome2/ruby-gnome2/commit/c7c09fa68ecd6c72c4d30ed65af529d496c26877
Message:
poppler: fix type check
Modified files:
poppler/lib/poppler/annot-callout-line.rb
Modified: poppler/lib/poppler/annot-callout-line.rb (+20 -8)
===================================================================
--- poppler/lib/poppler/annot-callout-line.rb 2017-07-23 15:19:57 +0900 (5f6a8e8)
+++ poppler/lib/poppler/annot-callout-line.rb 2017-07-23 15:24:44 +0900 (5084987)
@@ -19,14 +19,18 @@ module Poppler
alias_method :initialize_raw, :initialize
def initialize(*args)
initialize_raw
- if args.size == 1 && args.class == Hash
- self.multiline = args[:multiline] || false
- self.x1 = args[:x1] || 0
- self.y1 = args[:y1] || 0
- self.x2 = args[:x2] || 0
- self.y2 = args[:y2] || 0
- self.x3 = args[:x3] || 0
- self.y3 = args[:y3] || 0
+
+ return if args.empty?
+
+ if args.size == 1 and args[0].is_a?(Hash)
+ options = args[0]
+ self.multiline = options[:multiline]
+ self.x1 = options[:x1] || 0.0
+ self.y1 = options[:y1] || 0.0
+ self.x2 = options[:x2] || 0.0
+ self.y2 = options[:y2] || 0.0
+ self.x3 = options[:x3] || 0.0
+ self.y3 = options[:y3] || 0.0
elsif args.size == 7
self.multiline = args[0]
self.x1 = args[1]
@@ -35,6 +39,14 @@ module Poppler
self.y2 = args[4]
self.x3 = args[5]
self.y3 = args[6]
+ else
+ message =
+ "must be " +
+ "Hash({:multiline => true/false, :x1 => Float, :y1 => Float, " +
+ ":x2 => Float, :y2 => Float, :x3 => Float, :y3 => Float}) or " +
+ "Array([multiline(true/false), x1(Float), y1(Float), x2(Float), " +
+ "y2(Float), x3(Float), y3(Float)])"
+ raise(ArgumentError, message)
end
end
|