module Fragmenter::Rails::Controller

Public Instance Methods

destroy() click to toggle source
# File lib/fragmenter/rails/controller.rb, line 20
def destroy
  fragmenter.clean!

  render nothing: true, status: 204
end
show() click to toggle source
# File lib/fragmenter/rails/controller.rb, line 4
def show
  render json: fragmenter.as_json, status: 200
end
update() click to toggle source
# File lib/fragmenter/rails/controller.rb, line 8
def update
  uploader = request_uploader

  if uploader.store
    render json: fragmenter.as_json, status: update_status(uploader)
  else
    render json: {
      message: 'Upload of part failed.', errors: uploader.errors
    }, status: 422
  end
end

Private Instance Methods

fragmenter() click to toggle source
# File lib/fragmenter/rails/controller.rb, line 28
def fragmenter
  resource.fragmenter
end
request_uploader() click to toggle source
# File lib/fragmenter/rails/controller.rb, line 36
def request_uploader
  Fragmenter::Services::Uploader.new(
    Fragmenter::Request.new(
      resource:   resource,
      fragmenter: fragmenter,
      body:       request.body,
      headers:    request.env
    ), validators
  )
end
update_status(uploader) click to toggle source
# File lib/fragmenter/rails/controller.rb, line 47
def update_status(uploader)
  uploader.complete? ? 202 : 200
end
validators() click to toggle source
# File lib/fragmenter/rails/controller.rb, line 32
def validators
  [Fragmenter::Validators::ChecksumValidator]
end