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
- #satisfy_category?(object, list) ⇒ Boolean
- #satisfy_class?(object, *classes) ⇒ Boolean
- #satisfy_class_or_string?(object, *classes) ⇒ Boolean
- #satisfy_module?(object, *modules) ⇒ Boolean
- #satisfy_module_or_nil?(object, *modules) ⇒ Boolean
- #satisfy_module_or_string?(object, *modules) ⇒ Boolean
- #warning_deprecated(warning, name) ⇒ Object
Instance Method Details
#satisfy_category?(object, list) ⇒ 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
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
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
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
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
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 |