class Fragmenter::Services::Uploader

Attributes

request[R]
storer[W]
validators[R]

Public Class Methods

new(request, validators = []) click to toggle source
# File lib/fragmenter/services/uploader.rb, line 9
def initialize(request, validators = [])
  @request    = request
  @validators = validators
end

Public Instance Methods

complete?() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 33
def complete?
  !!@complete
end
errors() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 29
def errors
  [validator_instances.map(&:errors), storer.errors].flatten
end
parts_valid?() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 37
def parts_valid?
  validator_instances.select(&:part?).all?(&:valid?)
end
rebuilt_valid?() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 41
def rebuilt_valid?
  validator_instances.reject(&:part?).all?(&:valid?)
end
store() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 18
def store
  stored    = parts_valid? && storer.store && rebuilt_valid?
  @complete = fragmenter.complete?

  if stored && complete?
    rebuild_fragments
  end

  stored
end
storer() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 14
def storer
  @storer ||= Fragmenter::Services::Storer.new(request)
end

Private Instance Methods

fragmenter() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 47
def fragmenter
  request.fragmenter
end
rebuild_fragments() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 51
def rebuild_fragments
  request.resource.rebuild_fragments
end
validator_instances() click to toggle source
# File lib/fragmenter/services/uploader.rb, line 55
def validator_instances
  @validator_instances ||= validators.map do |validator|
    validator.new(request)
  end
end