Class: Saviour::Validator
- Inherits:
-
Object
- Object
- Saviour::Validator
show all
- Defined in:
- lib/saviour/validator.rb
Defined Under Namespace
Classes: AttachmentValidator
Instance Method Summary
collapse
Constructor Details
#initialize(model) ⇒ Validator
Returns a new instance of Validator.
101
102
103
104
|
# File 'lib/saviour/validator.rb', line 101
def initialize(model)
raise(ConfigurationError, "Please provide an object compatible with Saviour.") unless model.class.respond_to?(:attached_files)
@model = model
end
|
Instance Method Details
#attached_files ⇒ Object
116
117
118
|
# File 'lib/saviour/validator.rb', line 116
def attached_files
@model.class.attached_files
end
|
#validate! ⇒ Object
106
107
108
109
110
111
112
113
114
|
# File 'lib/saviour/validator.rb', line 106
def validate!
validations.each do |column, declared_validations|
raise(ConfigurationError, "There is no attachment defined as '#{column}'") unless attached_files.include?(column)
if @model.send(column).changed?
AttachmentValidator.new(@model, column, declared_validations).validate!
end
end
end
|
#validations ⇒ Object
120
121
122
|
# File 'lib/saviour/validator.rb', line 120
def validations
@model.class.__saviour_validations || {}
end
|