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.
@@ -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