module OUtil

module for validating object structure, keys etc.

Public Class Methods

check_against_array(keys, valid_keys, method) click to toggle source
# File lib/utils/object_utils.rb, line 50
def self.check_against_array(keys, valid_keys, method)
  inv_keys = []

  keys.each do |key|
    key = key.to_s

    inv_keys << key unless valid_keys.include? key
  end

  return true if inv_keys.length.zero?

  raise ErrorMessage.invalid_structure_error(method, "(#{keys.join(', ')})")
end
check_http_method(key, value, method) click to toggle source
# File lib/utils/object_utils.rb, line 23
def self.check_http_method(key, value, method)
  return if key == value

  raise ErrorMessage.invalid_http_method_error(key, value, method)
end
check_key(key, value, method) click to toggle source

make sure a key is the correct value

# File lib/utils/object_utils.rb, line 17
def self.check_key(key, value, method)
  return if key == value

  raise ErrorMessage.invalid_key_error(method, key)
end
check_object_keys(keys, valid_keys, method) click to toggle source
# File lib/utils/object_utils.rb, line 35
def self.check_object_keys(keys, valid_keys, method)
  key_bank = []

  keys.each do |key|
    break unless valid_keys.keys.include? key.to_sym
    break unless key.is_a? valid_keys[key.to_sym]

    key_bank.push key
  end

  return if key_bank.length == valid_keys.length

  raise ErrorMessage.invalid_structure_error(method, "(#{keys.join(', ')})")
end
check_params(params, method) click to toggle source

check url params to make sure they're not empty on methods that require them

# File lib/utils/object_utils.rb, line 10
def self.check_params(params, method)
  return unless params.nil? || params.empty?

  raise ErrorMessage.missing_parameter_error(method)
end

Public Instance Methods

check_key_type(object, key, type, method) click to toggle source
# File lib/utils/object_utils.rb, line 29
def check_key_type(object, key, type, method)
  return if object[key].is_a? type

  raise ErrorMessage.invalid_key_error(method, key)
end