regular_validation 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in regular_validation.gemspec
4
+ gemspec
@@ -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
@@ -0,0 +1,9 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << "spec"
6
+ t.pattern = "spec/**/*spec.rb"
7
+ end
8
+
9
+ task :default => :test
@@ -0,0 +1,9 @@
1
+ require "regular_validation/version"
2
+
3
+ module RegularValidation
4
+ class << self
5
+ def username
6
+ /^[a-zA-Z][\w\.]+$/
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ module RegularValidation
2
+ VERSION = "0.0.1"
3
+ end
@@ -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
@@ -0,0 +1,11 @@
1
+ require "rubygems"
2
+ require "bundler/setup"
3
+
4
+ require "regular_validation"
5
+
6
+ require "minitest/autorun"
7
+ require "turn"
8
+ require "ffaker"
9
+
10
+ Turn.config.format = :outline
11
+
@@ -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