Module: Concerns::Parentable

Extended by:
ActiveSupport::Concern
Included in:
Comment, Page
Defined in:
app/models/concerns/parentable.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#depthObject



12
13
14
# File 'app/models/concerns/parentable.rb', line 12

def depth
  parent.nil? ? 0 : 1 + parent.depth
end

#parentable?Boolean

Returns:

  • (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