Method: Wordtriez#initialize

Defined in:
lib/wordtriez.rb

#initialize(opts = {}) ⇒ Wordtriez



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