Module: Minitwin::Utils
- Defined in:
- lib/minitwin.rb
Overview
Shared utility methods
Class Method Summary collapse
-
.ivar_name(name) ⇒ Object
Normalize property name to instance variable name (handles ? suffix).
-
.ivar_to_key(ivar) ⇒ Object
Convert instance variable to attribute key symbol.
-
.traverse_path(obj, path) ⇒ Object
Traverse a nested path on an object.
Class Method Details
.ivar_name(name) ⇒ Object
Normalize property name to instance variable name (handles ? suffix)
34 35 36 |
# File 'lib/minitwin.rb', line 34 def ivar_name(name) "@#{name}".delete_suffix("?") end |
.ivar_to_key(ivar) ⇒ Object
Convert instance variable to attribute key symbol
39 40 41 |
# File 'lib/minitwin.rb', line 39 def ivar_to_key(ivar) ivar.to_s.delete_prefix("@").to_sym end |
.traverse_path(obj, path) ⇒ Object
Traverse a nested path on an object
44 45 46 47 |
# File 'lib/minitwin.rb', line 44 def traverse_path(obj, path) path.each { |seg| obj = obj.public_send(seg) } obj end |