Sha256: 4914911ef0f3fd2d3ce0ce9eb6f9774bf27c1dd3a5eadd9b6d90e4b16a698819

Contents?: true

Size: 1.44 KB

Versions: 6

Compression:

Stored size: 1.44 KB

Contents

module Fuel
  class PostsController < FuelController
    include ActionView::Helpers::TextHelper
    layout Fuel.configuration.layout if Fuel.configuration.layout
    before_filter :define_title

    def define_title
      @blog_title = Fuel.configuration.blog_title
    end

    def index
      @posts = Fuel::Post.recent_published_posts.page(params[:page])
      @title = Fuel.configuration.blog_title
      @description = Fuel.configuration.blog_description

      respond_to do |format|
        format.html
        format.json { render json: @posts, :methods => [:avatar_url, :featured_image_url] }
      end
    end

    def show
      @post = Fuel::Post.find_by_slug(params[:id]) || Fuel::Post.find_by_id(params[:id]) || not_found
      @title = truncate_on_space(@post.seo_title || @post.title, 70)
      @description = @post.seo_description
      @disqus_name = Fuel.configuration.disqus_name

      respond_to do |format|
        format.html
        format.json { render json: @post, :methods => [:avatar_url, :featured_image_url] }
      end
    end

    def preview
      @content = params[:content]
      respond_to do |format|
        format.js
      end
    end

    def redirect
      post = Fuel::Post.find_by_slug(params[:id]) || Fuel::Post.find_by_id(params[:id])
      return redirect_to fuel.post_path(post)
    end

    private

      def truncate_on_space(text = "", length)
        truncate(text, length: length, separator: ' ')
      end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fuel-0.4.10 app/controllers/fuel/posts_controller.rb
fuel-0.4.9 app/controllers/fuel/posts_controller.rb
fuel-0.4.8 app/controllers/fuel/posts_controller.rb
fuel-0.4.7 app/controllers/fuel/posts_controller.rb
fuel-0.4.6 app/controllers/fuel/posts_controller.rb
fuel-0.4.5 app/controllers/fuel/posts_controller.rb