Module: Concerns::Parentable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/parentable.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #depth ⇒ Object
- #parentable? ⇒ Boolean
- #parents(instance: nil, list: [], include_self: true) ⇒ Object
Instance Method Details
#depth ⇒ Object
12 13 14 |
# File 'app/models/concerns/parentable.rb', line 12 def depth parent.nil? ? 0 : 1 + parent.depth end |
#parentable? ⇒ Boolean
16 17 18 |
# File 'app/models/concerns/parentable.rb', line 16 def parentable? true end |
#parents(instance: nil, list: [], include_self: true) ⇒ Object
20 21 22 23 24 |
# File 'app/models/concerns/parentable.rb', line 20 def parents(instance: nil, list: [], include_self: true) instance = self unless instance.present? list << instance if include_self instance.parent ? parents(instance: instance.parent, list: list) : list end |