Module: Arango::Helper::Satisfaction

Included in:
AQL, Database, Foxx, Index, Replication, Server, Task, Transaction, User
Defined in:
lib/arango/helper/satisfaction.rb

Overview

Arango Helper Satisfaction

Instance Method Summary collapse

Instance Method Details

#satisfy_category?(object, list) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
39
40
# File 'lib/arango/helper/satisfaction.rb', line 36

def satisfy_category?(object, list)
  return true if list.include?(object)
  name = object.object_id.to_s
  raise Arango::Error.new err: :wrong_element, data: { wrong_attribute: name, wrong_value: object, list: list }
end

#satisfy_class?(object, *classes) ⇒ Boolean

Returns:

  • (Boolean)


6
7
8
9
10
# File 'lib/arango/helper/satisfaction.rb', line 6

def satisfy_class?(object, *classes)
  return true if classes.include?(object.class)
  name ||= object.object_id.to_s
  raise Arango::Error.new err: :wrong_class, data: { wrong_value: name, wrong_class: object.class.to_s, expected_class: classes.to_s }
end

#satisfy_class_or_string?(object, *classes) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
# File 'lib/arango/helper/satisfaction.rb', line 12

def satisfy_class_or_string?(object, *classes)
  return true if object.class == String
  satisfy_class?(object, *classes)
end

#satisfy_module?(object, *modules) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
23
24
# File 'lib/arango/helper/satisfaction.rb', line 17

def satisfy_module?(object, *modules)
  object_ancestors = object.class.ancestors
  object_incl_modules = object.class.included_modules
  result = (object_ancestors | object_incl_modules) & modules
  return true if result.size > 0
  name ||= object.object_id.to_s
  raise Arango::Error.new err: :wrong_module, data: { wrong_value: name, wrong_module: object.class.to_s, expected_class: modules.to_s }
end

#satisfy_module_or_nil?(object, *modules) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
34
# File 'lib/arango/helper/satisfaction.rb', line 31

def satisfy_module_or_nil?(object, *modules)
  return true if object.nil?
  satisfy_module?(object, *modules)
end

#satisfy_module_or_string?(object, *modules) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
29
# File 'lib/arango/helper/satisfaction.rb', line 26

def satisfy_module_or_string?(object, *modules)
  return true if object.class == String
  satisfy_module?(object, *modules)
end

#warning_deprecated(warning, name) ⇒ Object



42
43
44
# File 'lib/arango/helper/satisfaction.rb', line 42

def warning_deprecated(warning, name)
  puts "ARANGORB WARNING: #{name} function is deprecated" if warning
end