Module: Ruwi::Utils::Objects
- Defined in:
- lib/ruwi/runtime/utils/objects.rb
Class Method Summary collapse
- .diff(old_obj, new_obj) ⇒ Hash
-
.has_own_property(obj, prop) ⇒ Boolean
Check if an object has its own property (not inherited).
Class Method Details
.diff(old_obj, new_obj) ⇒ Hash
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/ruwi/runtime/utils/objects.rb', line 11 def diff(old_obj, new_obj) old_keys = old_obj.keys new_keys = new_obj.keys { added: new_keys.select { |key| !old_obj.key?(key) }, removed: old_keys.select { |key| !new_obj.key?(key) }, updated: new_keys.select { |key| old_obj.key?(key) && old_obj[key] != new_obj[key] } } end |
.has_own_property(obj, prop) ⇒ Boolean
Check if an object has its own property (not inherited)
26 27 28 29 30 31 32 33 34 |
# File 'lib/ruwi/runtime/utils/objects.rb', line 26 def has_own_property(obj, prop) case obj when Hash obj.key?(prop) else # For other objects, check if it's an instance variable obj.instance_variable_defined?("@#{prop}") end end |