Sha256: 7b26d44d49a753cf63245acf166df9ad5f0a0e6867609f1baab5adc4ff716b53

Contents?: true

Size: 951 Bytes

Versions: 43

Compression:

Stored size: 951 Bytes

Contents

module NodeController
  extend ActiveSupport::Concern

  included do
    before_action :load_node
    # node finding helpers
    helper_method :root_node, :menu, :node_active?
  end

  def show
  end

  def root_node
    @root ||= available_roots.find_by(locale: I18n.locale)
  end

  def menu
    @menu ||= root_node.children.where(active: true)
  end

  def node_class
    # for node routes the node class can be detected from params
    @node_class ||= params[:node_class].constantize
  end

  def site
    # for node routes site can be detected from params
    @site ||= params[:site]
  end

  def node_active? node
    @active_nodes.include? node
  end

  private

  def load_node
    @node = node_class.find(params[:node_id])
    @content  = @node.content unless @node.nil?

    @active_nodes = []
    if @node.present?
      @active_nodes += @node.ancestors.reorder(node_class.arel_table[:depth])
      @active_nodes << @node
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
releaf-core-3.1.0 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-3.0.3 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-3.0.2 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-3.0.1 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-3.0.0 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-2.2.1 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-2.2.0 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-2.1.2 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-2.1.1 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-2.1.0 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-2.0.1 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-2.0.0 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-1.1.22 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-1.1.21 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-1.1.20 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-1.1.19 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-1.1.18 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-1.1.17 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-1.1.16 lib/generators/dummy/templates/controllers/concerns/node_controller.rb
releaf-core-1.1.15 lib/generators/dummy/templates/controllers/concerns/node_controller.rb