Module: SaveQueue::Plugins::Validation::Queue

Defined in:
lib/save_queue/plugins/validation/queue.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



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

def self.included base
  base.before_save :validate!
end

Instance Method Details

#valid?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/save_queue/plugins/validation/queue.rb', line 11

def valid?
  validate
end

#validateObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/save_queue/plugins/validation/queue.rb', line 15

def validate
  @queue.each do |object|
    unless object.valid?
      @errors[:validation] ||= []
      @errors[:validation].push(object)
    end
  end
  
  @errors.empty?
end

#validate!Object



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

def validate!
  raise FailedValidationError, @errors[:validation] unless valid?
  true
end