Sha256: ee44b34bb794ad815620b65f55b90b99d5d431b12a8760f123e4a2a4f526f44e
Contents?: true
Size: 966 Bytes
Versions: 9
Compression:
Stored size: 966 Bytes
Contents
# frozen_string_literal: true require 'active_support/concern' module Lcms module Engine module Navigable extend ActiveSupport::Concern included do def parents ancestors.reverse end def previous @previous ||= if level_position.to_i.positive? siblings.where(level_position: level_position - 1).first else # last element of previous node from parent level parent.try(:previous).try(:children).try(:last) end end def next @next ||= if level_position.nil? nil elsif level_position < siblings.size siblings.where(level_position: level_position + 1).first else # first element of next node from parent level parent.try(:next).try(:children).try(:first) end end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems