Sha256: 8f01f6210e7651ea602fa2b426f7d96be5fef2a28b6b516ab30ff42ec35b2d85

Contents?: true

Size: 589 Bytes

Versions: 7

Compression:

Stored size: 589 Bytes

Contents

module Sitepress
  # Encapsulates the data needed to render a resource from a controller. This
  # lets us keep the functions in the controller more functional, which makes them
  # easier to override by the end users.
  class Rendition
    attr_accessor :resource, :output, :layout

    def initialize(resource, layout: nil)
      @resource = resource
    end

    def mime_type
      resource.mime_type.to_s
    end

    def handler
      resource.handler
    end

    def source
      resource.body
    end

    def layout
      resource.data.fetch("layout", @layout)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sitepress-rails-4.0.5 lib/sitepress/rendition.rb
sitepress-rails-4.0.4 lib/sitepress/rendition.rb
sitepress-rails-4.0.3 lib/sitepress/rendition.rb
sitepress-rails-4.0.2 lib/sitepress/rendition.rb
sitepress-rails-4.0.1 lib/sitepress/rendition.rb
sitepress-rails-4.0.0 lib/sitepress/rendition.rb
sitepress-rails-4.0.0.beta1 lib/sitepress/rendition.rb