regular_validation 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -6,7 +6,7 @@ A collection of Regular Expressions to be used in Validations
6
6
 
7
7
  Add `regular_validation` to your `Gemfile`
8
8
 
9
- gem 'regular_validation', '~> 0.0.1'
9
+ gem 'regular_validation', '~> 0.0.2'
10
10
 
11
11
  ## Usage ##
12
12
 
@@ -3,7 +3,11 @@ require "regular_validation/version"
3
3
  module RegularValidation
4
4
  class << self
5
5
  def username
6
- /^[a-zA-Z][\w\.]+$/
6
+ /\A[a-zA-Z][\w\.]+\z/
7
+ end
8
+
9
+ def email
10
+ /\A[^@]+@([^@\.]+\.)+[^@\.]+\z/
7
11
  end
8
12
  end
9
13
  end
@@ -1,3 +1,3 @@
1
1
  module RegularValidation
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -4,21 +4,38 @@ describe RegularValidation do
4
4
  describe "Username" do
5
5
  it "must have a username regexp" do
6
6
  RegularValidation.must_respond_to :username
7
+ RegularValidation.username.must_be_kind_of Regexp
7
8
  end
8
9
 
9
10
  it "must properly validate a username" do
10
- assert Faker::Internet.user_name =~ RegularValidation.username, "username regex matches Faker's user_name"
11
- assert "alloneword" =~ RegularValidation.username, "username regex matches alloneword"
12
- assert "underscore_man" =~ RegularValidation.username, "username regex accepts underscores"
13
- assert "numbe12man123" =~ RegularValidation.username, "username regex accepts numbers"
14
- assert "period.man" =~ RegularValidation.username, "username regex accepts periods"
11
+ %W[#{Faker::Internet.user_name} alloneword underscore_man numbe12man123 period.man].each do |username|
12
+ username.must_match RegularValidation.username
13
+ end
15
14
  end
16
15
 
17
16
  it "wont match improper usernames" do
18
- refute "1" =~ RegularValidation.username, "does not allow starting with numbers"
19
- refute "_" =~ RegularValidation.username, "does not allow starting with underscores"
20
- refute "." =~ RegularValidation.username, "does not allow starting with periods"
21
- refute " " =~ RegularValidation.username, "does not allow spaces"
17
+ ["1", "_", ".", " ", ""].each do |username|
18
+ username.wont_match RegularValidation.username
19
+ end
20
+ end
21
+ end
22
+
23
+ describe "E-mail" do
24
+ it "must have an e-mail regex" do
25
+ RegularValidation.must_respond_to :email
26
+ RegularValidation.email.must_be_kind_of Regexp
27
+ end
28
+
29
+ it "must properly validate an e-mail" do
30
+ %W[#{Faker::Internet.email} some.person@somewhere.com].each do |email|
31
+ email.must_match RegularValidation.email
32
+ end
33
+ end
34
+
35
+ it "wont match invalid e-mails" do
36
+ ["", "clearly not an email"].each do |email|
37
+ email.wont_match RegularValidation.email
38
+ end
22
39
  end
23
40
  end
24
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: regular_validation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-03-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: &70214544994140 !ruby/object:Gem::Requirement
16
+ requirement: &70118060217760 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70214544994140
24
+ version_requirements: *70118060217760
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: turn
27
- requirement: &70214545006940 !ruby/object:Gem::Requirement
27
+ requirement: &70118060231020 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70214545006940
35
+ version_requirements: *70118060231020
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: ffaker
38
- requirement: &70214545006060 !ruby/object:Gem::Requirement
38
+ requirement: &70118060229700 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70214545006060
46
+ version_requirements: *70118060229700
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70214545005380 !ruby/object:Gem::Requirement
49
+ requirement: &70118060229000 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70214545005380
57
+ version_requirements: *70118060229000
58
58
  description: ''
59
59
  email:
60
60
  - taz@zenapsis.com