username_not_reserved_validator 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d47110cc300997ff7ede20ad9b5e88a748e520fb
4
- data.tar.gz: 2d311a68bd5b8a0e1b16ca60cd48418fcb716343
3
+ metadata.gz: 9ec6488df3ec58634c942eb9151ffa4cfb83a199
4
+ data.tar.gz: 9db69886edf7e099ca98bdbbf2cbb0efc71a6e40
5
5
  SHA512:
6
- metadata.gz: 9c2fc1d92bf99d0609ce641d228adc03fd95862cc3d00c64c50dc20b6e120c64d3eb97d3f19f1db83ce3741f8b2023333bc2b7b3a52320039db9647201be6c8b
7
- data.tar.gz: f1b1cf722cb1fbd4fceb71d1fa7e0726a06e4562ae7498da9262ef9fd0c2ade1f10dd4f24763794720e2c221c1fd42f8bafded1462babb4258d03ad6656f9a65
6
+ metadata.gz: 336f8f94107f9523cb353e5a86b7657e66f798914feb57259d5d76db3a5d74d63bcaa9917336620116300f3ad87e1283835783c8734fa9ad06c5727c3e7bb440
7
+ data.tar.gz: c1d9ef08e67ce4aedbb3d5007073d9ed7abb718a029ff65813986b1d3e8a4c8ab27ee44ce1787b4ba2a68a210b9aec45c5d34b81c00f02c5187366fb3fdafa5b
data/.travis.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.0.0
4
- - 2.1.1
4
+ - 2.1.5
5
+ - 2.2.0
data/README.md CHANGED
@@ -1,14 +1,12 @@
1
1
  # UsernameNotReservedValidator
2
2
 
3
3
  [![Build Status](https://travis-ci.org/kwappa/username_not_reserved_validator.png)](https://travis-ci.org/kwappa/username_not_reserved_validator)
4
-
5
4
  [![Coverage Status](https://coveralls.io/repos/kwappa/username_not_reserved_validator/badge.png?branch=master)](https://coveralls.io/r/kwappa/username_not_reserved_validator?branch=master)
6
-
7
5
  [![Code Climate](https://codeclimate.com/github/kwappa/username_not_reserved_validator.png)](https://codeclimate.com/github/kwappa/username_not_reserved_validator)
8
6
 
9
- custom validator for ActiveModel.
7
+ Custom validator for ActiveModel.
10
8
 
11
- validates that username is not included in the reserved name list.
9
+ Validates that username is not included in the list of reserved names.
12
10
 
13
11
  e.g:
14
12
 
@@ -37,13 +35,12 @@ Or install it yourself as:
37
35
 
38
36
  ### validation settings
39
37
 
40
- write validation setting on your ActiveModel
41
-
38
+ Add validation setting on your ActiveModel.
42
39
 
43
- ```
40
+ ```ruby
44
41
  class User < ActiveRecord::Base
45
42
  validates(:name, username_not_reserved: true)
46
- )
43
+ end
47
44
  ```
48
45
 
49
46
  ### options
@@ -51,9 +48,23 @@ class User < ActiveRecord::Base
51
48
  * `additional_reserved_names` (Array of String / default: `[]`)
52
49
  * specify additional reserved names
53
50
  * `case_insencitve` (Boolean / default: `true`)
54
- * if set to `false`, comparison is case insencitive
51
+ * if set to `false`, comparison is case sencitive
55
52
  * `message` (Symbol / default: `:invalid`)
56
- * specify key of error message
53
+ * specify custom key of error message
54
+
55
+ e.g.)
56
+
57
+ ```ruby
58
+ class User < ActiveRecord::Base
59
+ validates(:name,
60
+ username_not_reserved: {
61
+ additional_reserved_names: %w[foo bar],
62
+ case_insencitve: true,
63
+ message: :reserved_username
64
+ }
65
+ )
66
+ end
67
+ ```
57
68
 
58
69
  ## Referenced resources
59
70
 
@@ -61,4 +72,4 @@ class User < ActiveRecord::Base
61
72
  * http://bitarts.jp/blog/archives/004363.html
62
73
  * https://github.com/balexand/email_validator
63
74
 
64
- with tons of thanks :sushi:
75
+ With tons of thanks :sushi:
@@ -152,6 +152,8 @@ module UsernameNotReservedValidator::ReservedNames
152
152
  activity
153
153
  password
154
154
  auth
155
+ oauth
156
+ oauth2
155
157
  session
156
158
  register
157
159
  login
@@ -215,6 +217,7 @@ module UsernameNotReservedValidator::ReservedNames
215
217
  code
216
218
  guest
217
219
  app
220
+ application
218
221
  maintenance
219
222
  roc
220
223
  id
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe UsernameNotReservedValidator do
4
-
5
4
  let(:reserved_usernames) { UsernameNotReservedValidator::ReservedNames.list }
6
5
  let(:valid_username) { 'valid_username' }
7
6
  let(:invalid_username) { reserved_usernames.first(30).sample }
@@ -9,134 +8,149 @@ describe UsernameNotReservedValidator do
9
8
  let(:invalid_pluralized_username) { reserved_usernames.first(30).sample.pluralize }
10
9
  let(:invalid_additional_username) { 'additional_reserved_username' }
11
10
 
12
-
13
- describe 'sample user name' do
14
- context 'when valid' do
15
- it 'does not included in reserved list' do
16
- expect(reserved_usernames.map(&:downcase)).to_not include(valid_username)
17
- expect(reserved_usernames.map(&:downcase).map(&:pluralize)).to_not include(valid_username)
11
+ describe '#validate_each' do
12
+ describe 'sample user name' do
13
+ context 'when valid' do
14
+ it 'does not included in reserved list' do
15
+ expect(reserved_usernames.map(&:downcase)).to_not include(valid_username)
16
+ expect(reserved_usernames.map(&:downcase).map(&:pluralize)).to_not include(valid_username)
17
+ end
18
18
  end
19
- end
20
19
 
21
- context 'when invalid' do
22
- it 'included in reserved list' do
23
- expect(reserved_usernames).to include(invalid_username)
24
- end
20
+ context 'when invalid' do
21
+ it 'included in reserved list' do
22
+ expect(reserved_usernames).to include(invalid_username)
23
+ end
25
24
 
26
- context 'when camelized invalid name' do
27
- it 'included only downcase list' do
28
- expect(reserved_usernames).to_not include(invalid_camelized_username)
29
- expect(reserved_usernames.map(&:downcase)).to include(invalid_camelized_username.downcase)
25
+ context 'when camelized invalid name' do
26
+ it 'included only downcase list' do
27
+ expect(reserved_usernames).to_not include(invalid_camelized_username)
28
+ expect(reserved_usernames.map(&:downcase)).to include(invalid_camelized_username.downcase)
29
+ end
30
30
  end
31
- end
32
31
 
33
- context 'when pluarized invalid name' do
34
- it 'included in pluralized list' do
35
- expect(reserved_usernames).to include(invalid_pluralized_username.singularize)
32
+ context 'when pluarized invalid name' do
33
+ it 'included in pluralized list' do
34
+ expect(reserved_usernames).to include(invalid_pluralized_username.singularize)
35
+ end
36
36
  end
37
- end
38
37
 
39
- context 'when additional invalid name' do
40
- it 'does not included in reserved list' do
41
- expect(reserved_usernames.map(&:downcase)).to_not include(invalid_additional_username)
42
- expect(reserved_usernames.map(&:downcase).map(&:pluralize)).to_not include(invalid_additional_username)
38
+ context 'when additional invalid name' do
39
+ it 'does not included in reserved list' do
40
+ expect(reserved_usernames.map(&:downcase)).to_not include(invalid_additional_username)
41
+ expect(reserved_usernames.map(&:downcase).map(&:pluralize)).to_not include(invalid_additional_username)
42
+ end
43
43
  end
44
44
  end
45
45
  end
46
- end
47
46
 
48
- shared_examples_for 'accepts username' do
49
- it { expect(user).to be_valid }
50
- end
47
+ shared_examples_for 'accepts username' do
48
+ it { expect(user).to be_valid }
49
+ end
51
50
 
52
- shared_examples_for 'rejects username' do
53
- it { expect(user).to_not be_valid }
54
- end
51
+ shared_examples_for 'rejects username' do
52
+ it { expect(user).to_not be_valid }
53
+ end
55
54
 
55
+ describe 'model without validation' do
56
+ subject(:user) { WithoutValidationUser.new(name: username) }
56
57
 
57
- describe 'model without validation' do
58
- subject(:user) { WithoutValidationUser.new(name: username) }
58
+ context 'with valid username' do
59
+ let(:username) { valid_username }
60
+ include_examples 'accepts username'
61
+ end
59
62
 
60
- context 'with valid username' do
61
- let(:username) { valid_username }
62
- include_examples 'accepts username'
63
- end
63
+ context 'with invalid username' do
64
+ let(:username) { invalid_username }
65
+ include_examples 'accepts username'
66
+ end
64
67
 
65
- context 'with invalid username' do
66
- let(:username) { invalid_username }
67
- include_examples 'accepts username'
68
- end
68
+ context 'with invalid camelized username' do
69
+ let(:username) { invalid_camelized_username }
70
+ include_examples 'accepts username'
71
+ end
69
72
 
70
- context 'with invalid camelized username' do
71
- let(:username) { invalid_camelized_username }
72
- include_examples 'accepts username'
73
- end
73
+ context 'with invalid pluralized username' do
74
+ let(:username) { invalid_pluralized_username }
75
+ include_examples 'accepts username'
76
+ end
74
77
 
75
- context 'with invalid pluralized username' do
76
- let(:username) { invalid_pluralized_username }
77
- include_examples 'accepts username'
78
+ context 'with additionals invalid username' do
79
+ let(:username) { invalid_additional_username }
80
+ include_examples 'accepts username'
81
+ end
78
82
  end
79
83
 
80
- context 'with additionals invalid username' do
81
- let(:username) { invalid_additional_username }
82
- include_examples 'accepts username'
83
- end
84
- end
84
+ describe 'model with validation' do
85
+ subject(:user) { WithValidationUser.new(name: username) }
85
86
 
86
- describe 'model with validation' do
87
- subject(:user) { WithValidationUser.new(name: username) }
87
+ context 'with valid username' do
88
+ let(:username) { valid_username }
89
+ include_examples 'accepts username'
90
+ end
88
91
 
89
- context 'with valid username' do
90
- let(:username) { valid_username }
91
- include_examples 'accepts username'
92
- end
92
+ context 'with invalid username' do
93
+ let(:username) { invalid_username }
94
+ include_examples 'rejects username'
95
+ end
93
96
 
94
- context 'with invalid username' do
95
- let(:username) { invalid_username }
96
- include_examples 'rejects username'
97
- end
97
+ context 'with invalid camelized username' do
98
+ let(:username) { invalid_camelized_username }
99
+ include_examples 'rejects username'
100
+ end
98
101
 
99
- context 'with invalid camelized username' do
100
- let(:username) { invalid_camelized_username }
101
- include_examples 'rejects username'
102
- end
102
+ context 'with invalid pluralized username' do
103
+ let(:username) { invalid_pluralized_username }
104
+ include_examples 'rejects username'
105
+ end
103
106
 
104
- context 'with invalid pluralized username' do
105
- let(:username) { invalid_pluralized_username }
106
- include_examples 'rejects username'
107
+ describe 'name "user" and "users"' do
108
+ context 'when "user"' do
109
+ let(:username) { 'user' }
110
+ include_examples 'rejects username'
111
+ end
112
+ context 'when "users"' do
113
+ let(:username) { 'users' }
114
+ include_examples 'rejects username'
115
+ end
116
+ end
107
117
  end
108
- end
109
118
 
110
- describe 'model with case insencitive validation' do
111
- subject(:user) { WithCaseInsencitiveValidationUser.new(name: username) }
119
+ describe 'model with case insencitive validation' do
120
+ subject(:user) { WithCaseInsencitiveValidationUser.new(name: username) }
112
121
 
113
- context 'with valid username' do
114
- let(:username) { valid_username }
115
- include_examples 'accepts username'
116
- end
122
+ context 'with valid username' do
123
+ let(:username) { valid_username }
124
+ include_examples 'accepts username'
125
+ end
117
126
 
118
- context 'with invalid username' do
119
- let(:username) { invalid_username }
120
- include_examples 'rejects username'
121
- end
127
+ context 'with invalid username' do
128
+ let(:username) { invalid_username }
129
+ include_examples 'rejects username'
130
+ end
122
131
 
123
- context 'with invalid camelized username' do
124
- let(:username) { invalid_camelized_username }
125
- include_examples 'accepts username'
126
- end
132
+ context 'with invalid camelized username' do
133
+ let(:username) { invalid_camelized_username }
134
+ include_examples 'accepts username'
135
+ end
127
136
 
128
- context 'with invalid pluralized username' do
129
- let(:username) { invalid_pluralized_username }
130
- include_examples 'rejects username'
137
+ context 'with invalid pluralized username' do
138
+ let(:username) { invalid_pluralized_username }
139
+ include_examples 'rejects username'
140
+ end
131
141
  end
132
- end
133
142
 
134
- describe 'model with validation and additional reserved username' do
135
- subject(:user) { WithAdditionalReservedNamesValidationUser.new(name: username) }
143
+ describe 'model with validation and additional reserved username' do
144
+ subject(:user) { WithAdditionalReservedNamesValidationUser.new(name: username) }
136
145
 
137
- context 'with additionals invalid username' do
138
- let(:username) { invalid_additional_username }
139
- include_examples 'rejects username'
146
+ context 'with additionals invalid username' do
147
+ let(:username) { invalid_additional_username }
148
+ include_examples 'rejects username'
149
+ end
140
150
  end
141
151
  end
152
+
153
+ describe '.default_options' do
154
+ it { expect(described_class.default_options).to eq( { case_insencitive: true } ) }
155
+ end
142
156
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "username_not_reserved_validator"
7
- spec.version = "1.0.0"
7
+ spec.version = "1.0.1"
8
8
  spec.authors = ["SHIOYA, Hiromu"]
9
9
  spec.email = ["kwappa.856@gmail.com"]
10
10
  spec.summary = "validates that username is not included in reserved list."
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: username_not_reserved_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - SHIOYA, Hiromu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-02 00:00:00.000000000 Z
11
+ date: 2015-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  version: '0'
120
120
  requirements: []
121
121
  rubyforge_project:
122
- rubygems_version: 2.2.2
122
+ rubygems_version: 2.4.5
123
123
  signing_key:
124
124
  specification_version: 4
125
125
  summary: validates that username is not included in reserved list.