10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/wordtriez.rb', line 10
def initialize opts={}
opts = opts.dup
value_type = opts.delete :value_type
if value_type.nil?
value_type = :int64
elsif value_type != :int64 and value_type != :object
raise ArgumentError, "value_type should be :int64 or :object, but got #{value_type.inspect}"
end
default = opts.delete :default
if default.nil?
default = (value_type == :int64 ? 0 : nil)
elsif value_type == :int64
default = default.to_i
end
unless opts.empty?
raise ArgumentError, "Unknown options: #{opts.keys.inspect}, only [:value_type, :default] are allowed"
end
_internal_set_type value_type == :object, default
end
|