Class: SaveQueue::Plugins::Validation::Queue

Inherits:
Queue
  • Object
show all
Defined in:
lib/save_queue/plugins/validation/queue.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Queue

#add, #add_all, #save

Constructor Details

#initialize(*args) ⇒ Queue

Returns a new instance of Queue.



8
9
10
11
# File 'lib/save_queue/plugins/validation/queue.rb', line 8

def initialize(*args)
  @objects_with_errors = []
  super
end

Instance Attribute Details

#objects_with_errorsObject (readonly)

Returns the value of attribute objects_with_errors.



6
7
8
# File 'lib/save_queue/plugins/validation/queue.rb', line 6

def objects_with_errors
  @objects_with_errors
end

Instance Method Details

#errorsObject



28
29
30
# File 'lib/save_queue/plugins/validation/queue.rb', line 28

def errors
  @objects_with_errors.map(&:errors).reduce(:+)
end

#valid?Boolean

Returns:

  • (Boolean)


13
14
15
16
17
18
19
20
# File 'lib/save_queue/plugins/validation/queue.rb', line 13

def valid?
  @objects_with_errors = []
  @queue.each do |object|
    @objects_with_errors << object unless object.valid?
  end

  @objects_with_errors.empty?
end

#validate!Object



22
23
24
25
26
# File 'lib/save_queue/plugins/validation/queue.rb', line 22

def validate!
  raise FailedValidationError, @objects_with_errors unless valid?

  true
end