Sha256: c5adf230e0d6e3b03c91deddd40740db83563ae99002ba92e6b5072ffbe7af3d
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
require_dependency "landable/api_controller" module Landable module Api class ThemesController < ApiController def index respond_with Theme.all end def create theme = Theme.new(theme_params) theme.save! respond_with theme, status: :created, location: theme_url(theme) end def show respond_with Theme.find(params[:id]) end def update theme = Theme.find(params[:id]) theme.update_attributes! theme_params respond_with theme end def preview theme = Theme.new(theme_params) page = Page.example(theme: theme) params[:theme][:asset_ids].try(:each) do |asset_id| theme.attachments.add Asset.find(asset_id) end content = render_to_string( text: RenderService.call(page), layout: page.theme.file || false ) respond_to do |format| format.html do render text: content, layout: false, content_type: 'text/html' end format.json do render json: {theme: {preview: content}} end end end private def theme_params params.require(:theme).permit(:id, :name, :body, :description, :thumbnail_url) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
landable-1.7.1.rc1 | app/controllers/landable/api/themes_controller.rb |
landable-1.7.0 | app/controllers/landable/api/themes_controller.rb |