Sha256: 69a3ae1c75b593ae71f5d92d8e0db7fd19dc1803007056a798328b79cfdcff53

Contents?: true

Size: 755 Bytes

Versions: 7

Compression:

Stored size: 755 Bytes

Contents

module Alchemy
  class Api::PagesController < Api::BaseController
    before_action :load_page, only: [:show]

    # Returns all pages as json object
    #
    def index
      @pages = Page.accessible_by(current_ability, :index)
      if params[:page_layout]
        @pages = @pages.where(page_layout: params[:page_layout])
      end
      respond_with @pages
    end

    # Returns a json object for page
    #
    # You can either load the page via id or its urlname
    #
    def show
      authorize! :show, @page
      respond_with @page
    end

    private

    def load_page
      @page = Page.find_by(id: params[:id]) ||
              Page.find_by(urlname: params[:urlname]) ||
              raise(ActiveRecord::RecordNotFound)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
alchemy_cms-3.1.3 app/controllers/alchemy/api/pages_controller.rb
alchemy_cms-3.1.1 app/controllers/alchemy/api/pages_controller.rb
alchemy_cms-3.1.0 app/controllers/alchemy/api/pages_controller.rb
alchemy_cms-3.1.0.rc3 app/controllers/alchemy/api/pages_controller.rb
alchemy_cms-3.1.0.rc2 app/controllers/alchemy/api/pages_controller.rb
alchemy_cms-3.1.0.rc1 app/controllers/alchemy/api/pages_controller.rb
alchemy_cms-3.1.0.beta6 app/controllers/alchemy/api/pages_controller.rb