ruby_regex 0.0.4 → 0.0.5

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/CHANGELOG CHANGED
@@ -1,3 +1,10 @@
1
+ 18/5/2010
2
+ -------------------------
3
+ Add RubyRegex::TwitterUsername
4
+ Add RubyRegex::DeliciousUsername
5
+ Add RubyRegex::SlidesahreUsername
6
+ Add RubyRegex::GithubUsername
7
+
1
8
  6/5/2010
2
9
  -------------------------
3
10
  Add RubyRegex::USSocialSecurity
data/README.rdoc CHANGED
@@ -1,20 +1,23 @@
1
1
  = RubyRegex
2
2
 
3
- Ruby regular expressions library
3
+ RubyRegex is a nice collection of regular expressions in Ruby
4
4
 
5
- == Methods
5
+ == Regular expressions
6
6
 
7
7
  RubyRegex::Url
8
8
  RubyRegex::Domain
9
9
  RubyRegex::Email
10
10
  RubyRegex::Username
11
- RubyRegex::ZipCode
12
11
  RubyRegex::USSocialSecurity
13
12
  RubyRegex::GeneralPostalCode
14
13
  RubyRegex::ZIPCode
15
14
  RubyRegex::CreditCard
16
15
  RubyRegex::MasterCard
17
16
  RubyRegex::Visa
17
+ RubyRegex::TwitterUsername
18
+ RubyRegex::DeliciousUsername
19
+ RubyRegex::SlidesahreUsername
20
+ RubyRegex::GithubUsername
18
21
 
19
22
  == Rails
20
23
 
@@ -31,6 +34,11 @@ Of course, contributions will be apreciated.
31
34
 
32
35
  If you want to contribute send me a pull request with new regular expressions (and their tests) or send me an email with your desired regular expression to emili@eparreno.com
33
36
 
37
+ == Contributors
38
+
39
+ - Lleïr Borràs
40
+ - Jaime Iniesta
41
+
34
42
  ---
35
43
 
36
44
  RubyRegex is released under the MIT-License and is Copyright (c)2010 Emili Parreño.
data/lib/ruby_regex.rb CHANGED
@@ -33,9 +33,19 @@ module RubyRegex
33
33
  # Validates US ZIP Code (basic and extended format)
34
34
  ZIPCode = /^(\d{5}$)|(\d{5}-\d{4}$)/
35
35
 
36
- #
36
+ # Twitter username
37
+ TwitterUsername = /^([a-z0-9\_])+$/ix
38
+
39
+ # Github username
40
+ GithubUsername = /^([a-z0-9\_\-])+$/ix
41
+
42
+ # Slideshare username
43
+ SlideshareUsername = /^([a-z0-9])+$/ix
44
+
45
+ # Del.icio.us username
46
+ DeliciousUsername = /^([a-z0-9\_\-])+$/ix
47
+
37
48
  # RFC822 Email Address Regex
38
- # --------------------------
39
49
  #
40
50
  # Originally written by Cal Henderson
41
51
  # c.f. http://iamcal.com/publish/articles/php/parsing_email/
@@ -160,4 +160,72 @@ class RubyRegexTest < ActiveSupport::TestCase
160
160
  assert(zip_code !~ RubyRegex::ZIPCode, message)
161
161
  end
162
162
  end
163
+
164
+ # Twitter usernames
165
+ def test_valid_twitter_usernames
166
+ twitter_usernames = ['ji', 'nickel84', 'sepa_rate']
167
+ twitter_usernames.each do |twitter_username|
168
+ message = build_message(message, '<?> does not pass the test', twitter_username)
169
+ assert(twitter_username =~ RubyRegex::TwitterUsername, message)
170
+ end
171
+ end
172
+
173
+ def test_invalid_twitter_usernames
174
+ twitter_usernames = ['nickel 83', 'h.ppywebcoder']
175
+ twitter_usernames.each do |twitter_username|
176
+ message = build_message(message, '<?> does not pass the test', twitter_username)
177
+ assert(twitter_username !~ RubyRegex::TwitterUsername, message)
178
+ end
179
+ end
180
+
181
+ # Github usernames
182
+ def test_valid_github_usernames
183
+ github_usernames = ['ji', 'nickel84', 'sepa_rate', 'ernesto-jimenez']
184
+ github_usernames.each do |github_username|
185
+ message = build_message(message, '<?> does not pass the test', github_username)
186
+ assert(github_username =~ RubyRegex::GithubUsername, message)
187
+ end
188
+ end
189
+
190
+ def test_invalid_github_usernames
191
+ github_usernames = ['nickel 84', 'h.ppywebcoder']
192
+ github_usernames.each do |github_username|
193
+ message = build_message(message, '<?> does not pass the test', github_username)
194
+ assert(github_username !~ RubyRegex::GithubUsername, message)
195
+ end
196
+ end
197
+
198
+ # Slideshare usernames
199
+ def test_valid_slideshare_usernames
200
+ slideshare_usernames = ['ji', 'nickel84']
201
+ slideshare_usernames.each do |slideshare_username|
202
+ message = build_message(message, '<?> does not pass the test', slideshare_username)
203
+ assert(slideshare_username =~ RubyRegex::SlideshareUsername, message)
204
+ end
205
+ end
206
+
207
+ def test_invalid_slideshare_usernames
208
+ slideshare_usernames = ['nickel 84', 'h.ppywebcoder', 'sepa_rate', 'ernesto-jimenez']
209
+ slideshare_usernames.each do |slideshare_username|
210
+ message = build_message(message, '<?> does not pass the test', slideshare_username)
211
+ assert(slideshare_username !~ RubyRegex::SlideshareUsername, message)
212
+ end
213
+ end
214
+
215
+ # Del.icio.us usernames
216
+ def test_valid_delicious_usernames
217
+ delicious_usernames = ['ji', 'nickel84', 'sepa_rate', 'ernesto-jimenez']
218
+ delicious_usernames.each do |delicious_username|
219
+ message = build_message(message, '<?> does not pass the test', delicious_username)
220
+ assert(delicious_username =~ RubyRegex::DeliciousUsername, message)
221
+ end
222
+ end
223
+
224
+ def test_invalid_delicious_usernames
225
+ delicious_usernames = ['nickel 84', 'h.ppywebcoder']
226
+ delicious_usernames.each do |delicious_username|
227
+ message = build_message(message, '<?> does not pass the test', delicious_username)
228
+ assert(delicious_username !~ RubyRegex::DeliciousUsername, message)
229
+ end
230
+ end
163
231
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 4
9
- version: 0.0.4
8
+ - 5
9
+ version: 0.0.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - Emili Parreno
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-06 00:00:00 +02:00
17
+ date: 2010-05-18 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies: []
20
20