regular_validation 0.0.1
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/.gitignore +4 -0
- data/Gemfile +4 -0
- data/README.md +42 -0
- data/Rakefile +9 -0
- data/lib/regular_validation.rb +9 -0
- data/lib/regular_validation/version.rb +3 -0
- data/regular_validation.gemspec +24 -0
- data/spec/helper.rb +11 -0
- data/spec/regular_validation_spec.rb +24 -0
- metadata +100 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# regular_validation #
|
2
|
+
|
3
|
+
A collection of Regular Expressions to be used in Validations
|
4
|
+
|
5
|
+
## Installation ##
|
6
|
+
|
7
|
+
Add `regular_validation` to your `Gemfile`
|
8
|
+
|
9
|
+
gem 'regular_validation', '~> 0.0.1'
|
10
|
+
|
11
|
+
## Usage ##
|
12
|
+
|
13
|
+
Just use `RegularValidation` with the name of the Regular Expression in your app.
|
14
|
+
|
15
|
+
For example:
|
16
|
+
|
17
|
+
RegularValidation.username # Returns the Username Regular Expression
|
18
|
+
"some_user" =~ RegularValidation.username # => 0
|
19
|
+
"1nvalid user" =~ RegularValidation.username # => nil
|
20
|
+
|
21
|
+
It's especially useful for ActiveModel Validations, however it isn't tied to Rails or any framework:
|
22
|
+
|
23
|
+
validates_format_of :username, with: RegularValidation.username
|
24
|
+
|
25
|
+
Currently supports the following validations:
|
26
|
+
|
27
|
+
username
|
28
|
+
|
29
|
+
## TODO ##
|
30
|
+
|
31
|
+
* Add more validations
|
32
|
+
* Add options to validations for allowing/disallowing periods, underscores, etc.
|
33
|
+
|
34
|
+
Please fork and add your regular expression validations!
|
35
|
+
|
36
|
+
## Testing ##
|
37
|
+
|
38
|
+
Clone the repository, run the `bundle` command, and then `rake` to run the MiniTest specs.
|
39
|
+
|
40
|
+
## License ##
|
41
|
+
|
42
|
+
MIT
|
data/Rakefile
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "regular_validation/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "regular_validation"
|
7
|
+
s.version = RegularValidation::VERSION
|
8
|
+
s.authors = ["Tasveer Singh"]
|
9
|
+
s.email = ["taz@zenapsis.com"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = "A collection of Regular Expression validations"
|
12
|
+
s.description = ""
|
13
|
+
|
14
|
+
s.rubyforge_project = "regular_validation"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
%w[minitest turn ffaker rake].each do |dependency|
|
22
|
+
s.add_development_dependency dependency
|
23
|
+
end
|
24
|
+
end
|
data/spec/helper.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require "helper"
|
2
|
+
|
3
|
+
describe RegularValidation do
|
4
|
+
describe "Username" do
|
5
|
+
it "must have a username regexp" do
|
6
|
+
RegularValidation.must_respond_to :username
|
7
|
+
end
|
8
|
+
|
9
|
+
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"
|
15
|
+
end
|
16
|
+
|
17
|
+
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"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: regular_validation
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Tasveer Singh
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-03-12 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: minitest
|
16
|
+
requirement: &70214544994140 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70214544994140
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: turn
|
27
|
+
requirement: &70214545006940 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :development
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70214545006940
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: ffaker
|
38
|
+
requirement: &70214545006060 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70214545006060
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
49
|
+
requirement: &70214545005380 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70214545005380
|
58
|
+
description: ''
|
59
|
+
email:
|
60
|
+
- taz@zenapsis.com
|
61
|
+
executables: []
|
62
|
+
extensions: []
|
63
|
+
extra_rdoc_files: []
|
64
|
+
files:
|
65
|
+
- .gitignore
|
66
|
+
- Gemfile
|
67
|
+
- README.md
|
68
|
+
- Rakefile
|
69
|
+
- lib/regular_validation.rb
|
70
|
+
- lib/regular_validation/version.rb
|
71
|
+
- regular_validation.gemspec
|
72
|
+
- spec/helper.rb
|
73
|
+
- spec/regular_validation_spec.rb
|
74
|
+
homepage: ''
|
75
|
+
licenses: []
|
76
|
+
post_install_message:
|
77
|
+
rdoc_options: []
|
78
|
+
require_paths:
|
79
|
+
- lib
|
80
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - ! '>='
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
requirements: []
|
93
|
+
rubyforge_project: regular_validation
|
94
|
+
rubygems_version: 1.8.16
|
95
|
+
signing_key:
|
96
|
+
specification_version: 3
|
97
|
+
summary: A collection of Regular Expression validations
|
98
|
+
test_files:
|
99
|
+
- spec/helper.rb
|
100
|
+
- spec/regular_validation_spec.rb
|