class Ckeditor::AssetResponse

Attributes

asset[R]
params[R]

Public Class Methods

new(asset, request) click to toggle source
# File lib/ckeditor/asset_response.rb, line 5
def initialize(asset, request)
  @asset = asset
  @request = request
  @params = request.params

  @asset.data = Ckeditor::Http.normalize_param(file, @request)
end

Public Instance Methods

ckeditor?() click to toggle source
# File lib/ckeditor/asset_response.rb, line 17
def ckeditor?
  !params[:CKEditor].blank?
end
errors() click to toggle source
# File lib/ckeditor/asset_response.rb, line 43
def errors
  if json?
    {
      json: { "uploaded" => 0, "error" => { "message" => "Upload failed"} }.to_json
    }
  elsif ckeditor?
    {
      text: %Q"<script type='text/javascript'>
        window.parent.CKEDITOR.tools.callFunction(#{params[:CKEditorFuncNum]}, null, '#{Ckeditor::Utils.escape_single_quotes(asset.errors.full_messages.first)}');
      </script>"
    }
  else
    {nothing: true, format: :json}
  end
end
file() click to toggle source
# File lib/ckeditor/asset_response.rb, line 21
def file
  !(ckeditor? || json?) ? params[:qqfile] : params[:upload]
end
json?() click to toggle source
# File lib/ckeditor/asset_response.rb, line 13
def json?
  params[:responseType] == 'json'
end
success(relative_url_root = nil) click to toggle source
# File lib/ckeditor/asset_response.rb, line 25
def success(relative_url_root = nil)
  if json?
    {
      json: { "uploaded" => 1, "fileName" => asset.filename, "url" => asset.url }.to_json
    }
  elsif ckeditor?
    {
      text: %Q"<script type='text/javascript'>
        window.parent.CKEDITOR.tools.callFunction(#{params[:CKEditorFuncNum]}, '#{asset_url(relative_url_root)}');
      </script>"
    }
  else
    {
      json: asset.to_json(only: [:id, :type])
    }
  end
end

Private Instance Methods

asset_url(relative_url_root) click to toggle source
# File lib/ckeditor/asset_response.rb, line 61
def asset_url(relative_url_root)
  url = Ckeditor::Utils.escape_single_quotes(asset.url_content)

  if URI(url).relative?
    "#{relative_url_root}#{url}"
  else
    url
  end
end