custom_fielder 0.5.2 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/helpers/custom_fielder/deserialization_helper.rb +1 -2
- data/app/helpers/custom_fielder/type_checking_helper.rb +6 -30
- data/app/models/custom_fielder/custom_field.rb +7 -2
- data/lib/custom_fielder/custom_fieldable.rb +1 -2
- data/lib/custom_fielder/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cdacf42418abc8f142f9b1d3bb6c5b56bc7b6f6e
|
4
|
+
data.tar.gz: 96102550d49e1010be766ad6b5a14c74af122306
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59419c9269107788d0d037b31aebc4f8759aa20cec191c48941efa638ab0cb78d486f03b325763dd18298d73381563a2853f481c3521085b14e49c652e45ec19
|
7
|
+
data.tar.gz: e10506a2625bc86801a0eb7d0141522dd4e2acb85faa1450d154d59d37a769bde82930940c7d0db2b65ed4a32a5f51fd0d96b0ec8f2d40a4b7bb0b385147039a
|
@@ -15,66 +15,42 @@ module CustomFielder
|
|
15
15
|
# @return [Boolean]
|
16
16
|
#
|
17
17
|
def is_array?(value)
|
18
|
-
|
19
|
-
false
|
20
|
-
else
|
21
|
-
true
|
22
|
-
end
|
18
|
+
value =~ /^\[(.(, )?)+\]$/
|
23
19
|
end
|
24
20
|
|
25
21
|
##
|
26
22
|
# @return [Boolean]
|
27
23
|
#
|
28
24
|
def is_integer?(value)
|
29
|
-
|
30
|
-
false
|
31
|
-
else
|
32
|
-
true
|
33
|
-
end
|
25
|
+
value =~ /^\d+$/
|
34
26
|
end
|
35
27
|
|
36
28
|
##
|
37
29
|
# @return [Boolean]
|
38
30
|
#
|
39
31
|
def is_float?(value)
|
40
|
-
|
41
|
-
false
|
42
|
-
else
|
43
|
-
true
|
44
|
-
end
|
32
|
+
value =~ /^\d+\.\d+$/
|
45
33
|
end
|
46
34
|
|
47
35
|
##
|
48
36
|
# @return [Boolean]
|
49
37
|
#
|
50
38
|
def is_date?(value)
|
51
|
-
|
52
|
-
false
|
53
|
-
else
|
54
|
-
true
|
55
|
-
end
|
39
|
+
value =~ /^\d{4}-\d{2}-\d{2}$/
|
56
40
|
end
|
57
41
|
|
58
42
|
##
|
59
43
|
# @return [Boolean]
|
60
44
|
#
|
61
45
|
def is_date_time?(value)
|
62
|
-
|
63
|
-
false
|
64
|
-
else
|
65
|
-
true
|
66
|
-
end
|
46
|
+
value =~ /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}-\d{2}:\d{2}$/
|
67
47
|
end
|
68
48
|
|
69
49
|
##
|
70
50
|
# @return [Boolean]
|
71
51
|
#
|
72
52
|
def is_boolean?(value)
|
73
|
-
|
74
|
-
false
|
75
|
-
else
|
76
|
-
true
|
77
|
-
end
|
53
|
+
TRUTH_VALUES.include?(value) or FALSE_VALUES.include?(value)
|
78
54
|
end
|
79
55
|
|
80
56
|
##
|
@@ -15,7 +15,11 @@ module CustomFielder
|
|
15
15
|
scope :active, -> { where(active: true) }
|
16
16
|
scope :inactive, -> { where(active: false) }
|
17
17
|
|
18
|
+
scope :fields_with_class, -> (klass) { where(custom_fieldable_type: klass) }
|
18
19
|
scope :fields_with_attributes, -> (field_attrs) { where(field_attributes: field_attrs) }
|
20
|
+
scope :fields_with_class_and_attributes, -> (klass, field_attrs) do
|
21
|
+
where(custom_fieldable_type: klass, field_attributes: field_attrs)
|
22
|
+
end
|
19
23
|
|
20
24
|
##
|
21
25
|
# Because everything is stored as string with ActiveRecord
|
@@ -41,7 +45,7 @@ module CustomFielder
|
|
41
45
|
end
|
42
46
|
|
43
47
|
##
|
44
|
-
#
|
48
|
+
# Deactivates all CustomFields that belong to passed field attributes
|
45
49
|
#
|
46
50
|
# @param field_attrs [CustomField::FieldAttributes]
|
47
51
|
#
|
@@ -134,7 +138,7 @@ module CustomFielder
|
|
134
138
|
# @return [Nil] Adds error if invalid
|
135
139
|
#
|
136
140
|
def check_allowed_values
|
137
|
-
return
|
141
|
+
return unless allowed_values
|
138
142
|
value_not_allowed_error unless allowed_values.include?(value)
|
139
143
|
end
|
140
144
|
|
@@ -185,5 +189,6 @@ module CustomFielder
|
|
185
189
|
def default?
|
186
190
|
default and default != ''
|
187
191
|
end
|
192
|
+
|
188
193
|
end
|
189
194
|
end
|