lib/fanforce/validations/validations.rb in fanforce-internal-validations-0.1.4 vs lib/fanforce/validations/validations.rb in fanforce-internal-validations-0.1.5

- old
+ new

@@ -18,11 +18,11 @@ name = field if is_blank?(name) and field.is_a?(Symbol) name = :unknown if is_blank?(name) name.to_sym end - def validates_presence_of(*args) + def validates_presence_of_all(*args) opts = extract_options!(args) params = extract_validation_params(opts) fields_to_validate = args.is_a?(Array) ? args : [args] invalid_fields = [] @@ -32,12 +32,13 @@ end end return true if invalid_fields.size == 0 errors = invalid_fields.inject([]) {|result, f| result << format_validation_error(opts, f, :missing_field) } - raise_validation_error(opts, errors, Fanforce::Error::CorruptRequest) + raise_validation_errors(opts, errors, Fanforce::Error::BadRequest) end + alias validates_presence_of validates_presence_of_all def validates_presence_of_any(*args) opts = extract_options!(args) params = extract_validation_params(opts) fields_to_validate = args.is_a?(Array) ? args : [args] @@ -49,16 +50,13 @@ end end return true if invalid_fields.size < fields_to_validate.size errors = [format_validation_error(opts, invalid_fields, :invalid_data)] - raise_validation_error(opts, errors, Fanforce::Error::CorruptRequest) + raise_validation_errors(opts, errors, Fanforce::Error::BadRequest) end - def validates_presence_of_all(*args) - validates_presence_of(args) - end def validates_true(*args) opts = extract_options!(args) params = extract_validation_params(opts) bools_to_validate = args.is_a?(Array) ? args : [args] @@ -70,23 +68,23 @@ end end return true if invalid_fields.size == 0 errors = invalid_fields.inject([]) {|result, f| result << format_validation_error(opts, f, :invalid_data) } - raise_validation_error(opts, errors, Fanforce::Error::RequestFailed) + raise_validation_errors(opts, errors, Fanforce::Error::RequestFailed) end - def raise_validation_error(opts, errors, default_error_class) - raise (opts[:error_class] || default_error_class).new(errors) - end - def format_validation_error(opts, fields, default_error_code=nil) error = { resource: is_present?(opts[:resource]) ? opts[:resource] : self.class.name.demodulize.tableize.singularize, code: is_present?(opts[:code]) ? opts[:code] : default_error_code, message: opts[:message] } fields.is_a?(Array) ? error.update(fields: fields) : error.update(field: fields) + end + + def raise_validation_errors(opts, errors, default_error_class) + raise (opts[:error_class] || default_error_class).new(*errors) end def extract_options!(args) if args.last.is_a?(::Hash) opts = args.pop.symbolize_keys \ No newline at end of file