valid 0.4.0 → 0.5.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 95678ed889479acfad08b91569cfc0b9e86b7e45
4
+ data.tar.gz: 7fbc20b57cefdf16bf094714fc0e2a73e944cbf3
5
+ SHA512:
6
+ metadata.gz: 148beec3403250bd30f51f47f01c9cd67cb89f387614f94bc9ef43a265539de28befc17d85fa2e5c117c2ca27095cac780118d759dd7bebc32abc89f00562d5b
7
+ data.tar.gz: fcea3fa96b21ddb52186ecabf43392f9e7dc6e4179b1fb7c0c83b568d7d0e3642776705b39f1bf481a4cd8ac425e61e669ef417b290c5528c79f92613233b43b
@@ -0,0 +1,46 @@
1
+ module Validation
2
+ # UUID rule
3
+ module Rule
4
+ class Uuid
5
+ class UnknownVersion < StandardError; end
6
+ # params can be any of the folowing:
7
+ #
8
+ # - :version - v4 (only supports v4 at this time)
9
+ #
10
+ # Example:
11
+ #
12
+ # {:version => v4}
13
+ def initialize(params)
14
+ @params = params
15
+ end
16
+
17
+ def params
18
+ @params
19
+ end
20
+
21
+ def valid_value?(value)
22
+ value.nil? || !!uuid_regex.match(value.to_s)
23
+ rescue UnknownVersion
24
+ false
25
+ end
26
+
27
+ def error_key
28
+ :uuid
29
+ end
30
+
31
+ private
32
+
33
+ def uuid_regex
34
+ if params[:version] == 'v4'
35
+ uuid_v4_regex
36
+ else
37
+ raise UnknownVersion
38
+ end
39
+ end
40
+
41
+ def uuid_v4_regex
42
+ /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i
43
+ end
44
+ end
45
+ end
46
+ end
@@ -46,6 +46,7 @@ module Validation
46
46
  rescue NameError => e
47
47
  raise InvalidRule.new(e)
48
48
  end
49
+ self
49
50
  end
50
51
 
51
52
  # Determines if this object is valid. When a rule fails for a field,
@@ -1,3 +1,3 @@
1
1
  module Validation
2
- VERSION = '0.4.0'
2
+ VERSION = '0.5.0'
3
3
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
5
- prerelease:
4
+ version: 0.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jeremy Bush
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-01-30 00:00:00.000000000 Z
11
+ date: 2015-03-16 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description:
15
14
  email:
@@ -18,6 +17,8 @@ executables: []
18
17
  extensions: []
19
18
  extra_rdoc_files: []
20
19
  files:
20
+ - README.md
21
+ - lib/validation.rb
21
22
  - lib/validation/rule/email.rb
22
23
  - lib/validation/rule/length.rb
23
24
  - lib/validation/rule/matches.rb
@@ -26,32 +27,30 @@ files:
26
27
  - lib/validation/rule/phone.rb
27
28
  - lib/validation/rule/regular_expression.rb
28
29
  - lib/validation/rule/uri.rb
30
+ - lib/validation/rule/uuid.rb
29
31
  - lib/validation/validator.rb
30
32
  - lib/validation/version.rb
31
- - lib/validation.rb
32
- - README.md
33
33
  homepage: https://github.com/zombor/Validator
34
34
  licenses: []
35
+ metadata: {}
35
36
  post_install_message:
36
37
  rdoc_options: []
37
38
  require_paths:
38
39
  - lib
39
40
  required_ruby_version: !ruby/object:Gem::Requirement
40
- none: false
41
41
  requirements:
42
- - - ! '>='
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: '0'
45
45
  required_rubygems_version: !ruby/object:Gem::Requirement
46
- none: false
47
46
  requirements:
48
- - - ! '>='
47
+ - - ">="
49
48
  - !ruby/object:Gem::Version
50
49
  version: '0'
51
50
  requirements: []
52
51
  rubyforge_project:
53
- rubygems_version: 1.8.24
52
+ rubygems_version: 2.2.2
54
53
  signing_key:
55
- specification_version: 3
54
+ specification_version: 4
56
55
  summary: A standalone, generic object validator for ruby
57
56
  test_files: []