simplificator-arext 0.2.6 → 0.2.7
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.
- data/README +16 -2
- data/lib/arext/validations.rb +5 -0
- metadata +1 -1
data/README
CHANGED
@@ -17,16 +17,30 @@ validates_constraints make some assumptions (see below) and none of its behaviou
|
|
17
17
|
* Adds validates_length_of for text columns with not null limit
|
18
18
|
|
19
19
|
== validates_url
|
20
|
+
This validator adds the feature to validate urls with http and https protocols. It also include
|
21
|
+
portnumbers and any subdomains. Instead of a domain name, you can use ip address too (version 4).
|
20
22
|
|
21
23
|
== validates_host
|
24
|
+
This validator adds the feature to validate a hostname. Instead of a hostname, you can
|
25
|
+
use ip address too (version 4).
|
26
|
+
|
22
27
|
|
23
28
|
Example
|
24
29
|
=======
|
25
|
-
|
30
|
+
== validates_constraints
|
26
31
|
in your ActiveRecord class:
|
27
32
|
validate_constraints(:attribute_name, :other_attribute_name)
|
28
33
|
or
|
29
34
|
validates_constraints() for all attributes
|
30
35
|
|
36
|
+
== validates_url
|
37
|
+
in your ActiveRecord class:
|
38
|
+
validates_url(:attribute)
|
39
|
+
|
40
|
+
== validates_host
|
41
|
+
in your ActiveRecord class:
|
42
|
+
validates_host(:attribute)
|
43
|
+
|
44
|
+
|
31
45
|
|
32
|
-
Copyright (c) 2008 [
|
46
|
+
Copyright (c) 2008 [simplificator gmbh], released under the MIT license
|
data/lib/arext/validations.rb
CHANGED
@@ -6,10 +6,15 @@ module Arext
|
|
6
6
|
VALID_IP = "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
|
7
7
|
VALID_TLD = "[a-z]{2,5}"
|
8
8
|
VALID_PORT = "(:[0-9]{1,5})?"
|
9
|
+
|
9
10
|
def validates_url(attribute)
|
10
11
|
validates_format_of(attribute, :with => /^#{VALID_PROTOCOLS}(#{VALID_HOST}\.#{VALID_TLD}|#{VALID_IP})#{VALID_PORT}(\/.*)?$/ix)
|
11
12
|
end
|
12
13
|
|
14
|
+
def validates_host(attribute)
|
15
|
+
validates_format_of(attribute, :with => /^(#{VALID_HOST}\.#{VALID_TLD}|#{VALID_IP})$/)
|
16
|
+
end
|
17
|
+
|
13
18
|
|
14
19
|
def validates_constraints(*attrs)
|
15
20
|
attrs = column_names if attrs.blank?
|