Sha256: 1a93924284c1607a3e9481b4415306258e84ff6491031ecf18d0c08155b30134

Contents?: true

Size: 1.04 KB

Versions: 4

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Lcms
  module Engine
    module Admin
      class SketchCompilersController < AdminController
        include Lcms::Engine::GoogleCredentials

        before_action :validate_params, only: [:compile]

        def compile
          response = SketchCompiler
                       .new(current_user.id, request.remote_ip, params[:version])
                       .compile(params[:url], params[:foundational_url])

          if response.success?
            url = DocumentExporter::Gdoc::Base.url_for JSON.parse(response.body)['id']
            redirect_to :back, notice: t('.success', url: url)
          else
            redirect_to :back, alert: t('.compile_error')
          end
        end

        def new
          head :bad_request unless google_credentials.present?
          @version = params[:version].presence || 'v1'
        end

        private

        def validate_params
          redirect_to new_admin_sketch_compiler_path, alert: t('.error') unless params[:url].present?
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lcms-engine-0.1.4 app/controllers/lcms/engine/admin/sketch_compilers_controller.rb
lcms-engine-0.1.3 app/controllers/lcms/engine/admin/sketch_compilers_controller.rb
lcms-engine-0.1.2 app/controllers/lcms/engine/admin/sketch_compilers_controller.rb
lcms-engine-0.1.0 app/controllers/lcms/engine/admin/sketch_compilers_controller.rb