Sha256: d7ecbe6a50e40835cb7c82b145ff07ba1620a54fb4172de381f8945681de4b54
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
require 'sinatra/base' require 'alephant/models/renderer' require 'alephant/views/preview' require 'faraday' require 'json' require 'uri' module Alephant module Preview class Server < Sinatra::Base get '/preview/:id/:region/?:fixture?' do render_preview end get '/component/:id/?:fixture?' do render_component end def render_preview ::Alephant::Views::Preview.new( { region => render_component }, preview_template_location ).render end def render_component Renderer.new(id, base_path).render(fixture_data) end private def region params['region'] end def id params['id'] end def fixture params['fixture'] || id end def fixture_data JSON.parse(File.open(fixture_location).read) end def base_path "#{Dir.pwd}/views" end def fixture_location "#{base_path}/fixtures/#{fixture}.json" end def preview_template_location "#{base_path}/templates/preview.mustache" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alephant-0.0.8.1-java | lib/alephant/preview/server.rb |
alephant-0.0.8-java | lib/alephant/preview/server.rb |