Class: Fragmenter::Services::Uploader

Inherits:
Object
  • Object
show all
Defined in:
lib/fragmenter/services/uploader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request, validators = []) ⇒ Uploader

Returns a new instance of Uploader.



9
10
11
12
# File 'lib/fragmenter/services/uploader.rb', line 9

def initialize(request, validators = [])
  @request    = request
  @validators = validators
end

Instance Attribute Details

#requestObject (readonly)

Returns the value of attribute request.



6
7
8
# File 'lib/fragmenter/services/uploader.rb', line 6

def request
  @request
end

#storerObject



14
15
16
# File 'lib/fragmenter/services/uploader.rb', line 14

def storer
  @storer ||= Fragmenter::Services::Storer.new(request)
end

#validatorsObject (readonly)

Returns the value of attribute validators.



6
7
8
# File 'lib/fragmenter/services/uploader.rb', line 6

def validators
  @validators
end

Instance Method Details

#complete?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/fragmenter/services/uploader.rb', line 33

def complete?
  !!@complete
end

#errorsObject



29
30
31
# File 'lib/fragmenter/services/uploader.rb', line 29

def errors
  [validator_instances.map(&:errors), storer.errors].flatten
end

#parts_valid?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/fragmenter/services/uploader.rb', line 37

def parts_valid?
  validator_instances.select(&:part?).all?(&:valid?)
end

#rebuilt_valid?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/fragmenter/services/uploader.rb', line 41

def rebuilt_valid?
  validator_instances.reject(&:part?).all?(&:valid?)
end

#storeObject



18
19
20
21
22
23
24
25
26
27
# 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