Sha256: 111165099b81aca618507568b2160c7f0d8d635ac01a8f28099a0c64c3abe5de

Contents?: true

Size: 830 Bytes

Versions: 2

Compression:

Stored size: 830 Bytes

Contents

module Vitreous
  module Share
    module Render
      def self.render( opts )
        index   = Vitreous::Share::Element.new( opts[:index] )
        element = Vitreous::Share::IndexSearcher.search( index, opts[:resource] )
        status  = 200
        
        if element.nil?
          element = Vitreous::Share::IndexSearcher.not_found( index )
          status  = 404
        end
  
        Mustache.template_path = opts[:templates]
        
        body = 
          Mustache.render(
            File.read( "#{opts[:templates]}/layout.html" ),
            { 
              :index    => index, 
              :element  => element,
              :assets   => opts[:assets]
            }
          )
          
        OpenStruct.new(
          :status => status,
          :body   => body
        )
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vitreous_share-0.0.25 lib/vitreous/share/render.rb
vitreous_share-0.0.23 lib/vitreous/share/render.rb