Module: Genealogy::UtilMethods::ClassMethods

Defined in:
lib/genealogy/util_methods.rb

Instance Method Summary collapse

Instance Method Details

#check_has_parents_options(options) ⇒ Object

Raises:

  • (ArgumentError)


179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# File 'lib/genealogy/util_methods.rb', line 179

def check_has_parents_options(options)

  raise ArgumentError, "Hash expected, #{options.class} given." unless options.is_a? Hash

  # column names
  options[:column_names] ||= {}
  raise ArgumentError, "Hash expected for :column_names option, #{options[:column_names].class} given." unless options[:column_names].is_a? Hash

  # sex
  if array = options[:sex_values]
    raise ArgumentError, ":sex_values option must be an array of length 2: [:male_value, :female_value]" unless array.is_a?(Array) and array.size == 2
  end

  # booleans
  options.slice(:perform_validation, :current_spouse).each do |k,v|
    raise ArgumentError, "Boolean expected for #{k} option, #{v.class} given." unless !!v == v
  end
end