validation_profiler 1.3.4 → 1.3.5
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7829ec1df6578a2bfe80d7724bd7fadce92494f5
|
4
|
+
data.tar.gz: b196fe267a544e1046774a9bbcb6428bc537a5b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78d04018153cc0434f32436b1d42b1d4cde2ea409906d25dec22f1b20c3c603c2e7716101ae35bedba91359d0f15c218f3650dca3e1d3608891fb805e3b4c414
|
7
|
+
data.tar.gz: cae3746d4cd3ac17ba7fa5c827073f51cfc84ca3c0d038fc7c2e11c9970c8e1e475cb619e2e53113272a873ed9957a8899f1592aea9a449bc80feeffb5b49db5
|
@@ -1,43 +1,43 @@
|
|
1
1
|
module ValidationProfiler
|
2
2
|
module Rules
|
3
3
|
class ValidationRule
|
4
|
-
|
5
4
|
def get_field_value(obj, field)
|
6
|
-
#attempt to get the field value from the object
|
5
|
+
# attempt to get the field value from the object
|
7
6
|
field_value = nil
|
8
|
-
|
7
|
+
|
8
|
+
# check if the object is a hash
|
9
9
|
if obj.is_a?(Hash)
|
10
10
|
if obj.has_key?(field)
|
11
|
-
#get the field value
|
11
|
+
# get the field value
|
12
12
|
field_value = obj[field]
|
13
13
|
elsif obj.has_key?(field.to_s)
|
14
14
|
field_value = obj[field.to_s]
|
15
15
|
end
|
16
16
|
else
|
17
|
-
#if the object does not contain the specified field raise an exception
|
18
|
-
|
19
|
-
raise ValidationProfiler::Exceptions::FieldNotFound.new(field)
|
20
|
-
end
|
17
|
+
# if the object does not contain the specified field raise an exception
|
18
|
+
raise ValidationProfiler::Exceptions::FieldNotFound, field unless obj.respond_to?(field)
|
21
19
|
|
22
|
-
#get the field value
|
20
|
+
# get the field value
|
23
21
|
field_value = obj.send(field)
|
24
22
|
end
|
25
23
|
end
|
26
24
|
|
27
25
|
def is_required?(field_value, attributes = {})
|
28
26
|
required = attributes[:required]
|
29
|
-
if required
|
30
|
-
required = true
|
31
|
-
end
|
27
|
+
required = true if required.nil?
|
32
28
|
|
33
|
-
#check if the field is required
|
34
|
-
if field_value
|
35
|
-
|
36
|
-
else
|
37
|
-
return true
|
38
|
-
end
|
29
|
+
# check if the field is required
|
30
|
+
return false if required_field?(field_value, required)
|
31
|
+
true
|
39
32
|
end
|
40
33
|
|
34
|
+
private
|
35
|
+
|
36
|
+
def required_field?(field_value, required)
|
37
|
+
(field_value.nil? ||
|
38
|
+
(field_value.respond_to?(:empty?) && field_value.empty?)) &&
|
39
|
+
!required
|
40
|
+
end
|
41
41
|
end
|
42
42
|
end
|
43
|
-
end
|
43
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: validation_profiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sage One
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|