Class: Wardrobe::Plugins::Validation::ValidationRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/wardrobe/plugins/validation/validaton_runner.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance) ⇒ ValidationRunner

Returns a new instance of ValidationRunner.



9
10
11
# File 'lib/wardrobe/plugins/validation/validaton_runner.rb', line 9

def initialize(instance)
  @instance = instance
end

Instance Attribute Details

#instanceObject (readonly)

Returns the value of attribute instance.



7
8
9
# File 'lib/wardrobe/plugins/validation/validaton_runner.rb', line 7

def instance
  @instance
end

Class Method Details

.validate(instance) ⇒ Object



13
14
15
# File 'lib/wardrobe/plugins/validation/validaton_runner.rb', line 13

def self.validate(instance)
  new(instance).run
end

Instance Method Details

#error_storeObject



28
29
30
# File 'lib/wardrobe/plugins/validation/validaton_runner.rb', line 28

def error_store
  @error_store ||= ErrorStore.new
end

#errorsObject



32
33
34
# File 'lib/wardrobe/plugins/validation/validaton_runner.rb', line 32

def errors
  error_store.store
end

#runObject



21
22
23
24
25
26
# File 'lib/wardrobe/plugins/validation/validaton_runner.rb', line 21

def run
  instance._attribute_store.each do |_name, atr|
    Validate(instance.send(atr.name), atr, error_store)
  end
  self
end

#Validate(value, atr, error_store) ⇒ Object



17
18
19
# File 'lib/wardrobe/plugins/validation/validaton_runner.rb', line 17

def Validate(value, atr, error_store)
  Validator.new(value, atr, error_store).run
end