username_not_reserved_validator 1.0.0 → 1.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.
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.