module Genealogy::UtilMethods::ClassMethods

Public Instance Methods

check_has_parents_options(options) click to toggle source
# 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