module SimplePipeline::Validation

Public Class Methods

included(base) click to toggle source
# File lib/simple_pipeline/validation.rb, line 5
def self.included (base)
    base.extend(ClassMethods)
    base.class_variable_set(:@@validations, [])
end

Public Instance Methods

validate(payload) click to toggle source
# File lib/simple_pipeline/validation.rb, line 18
def validate (payload)
    self.class.class_variable_get(:@@validations).each do |validation_lambda|
        begin
            raise SimplePipeline::Validation::Error.new "#{self.class} - #{payload}" unless validation_lambda.call(payload)
        rescue
            raise SimplePipeline::Validation::Error.new "#{self.class} - #{payload}"
        end
    end
end