everyday_natsort 1.0.3 → 1.0.4

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
- SHA1:
3
- metadata.gz: f757236f459322bdb735b3520b1d58b62407f3c8
4
- data.tar.gz: 9327a7f85e11b51d6de87c42cab96fd32469e9b0
2
+ SHA256:
3
+ metadata.gz: ce0c827a05d276516a421bb23ab96cac7b1d1d9fdac86fd03fa780319d7e711a
4
+ data.tar.gz: fbb9295f2cbb46281d0d2031dc02b193dc5587ef82b26b3adc586280965ec311
5
5
  SHA512:
6
- metadata.gz: 8d9e9b371cf9413d29f6c892822c3dfda9111289cee75e2d9cefd24cce1877d8a2a683efbe48b4d9e163e53f78efcc3e7c00d4ba1d9784390eed60dc600f6f69
7
- data.tar.gz: 709a9d76b33d16322a9741d3197c1a32608a2bb46d4d3f8f6af2681bc0721bbf708ae5b59d6596c0d0451025fb35062813c2cc4d5696a0e5488f9131beaa9e35
6
+ metadata.gz: fd5165d37fde727f467d2fe8054ea7c6bf2964773baa98da5a97cb82fb4bee16a534bd61ba152cc16247873262b3e8a7d4805102e49ca3ab66fa3683be010e8a
7
+ data.tar.gz: 5cebaa39b465957bd6bce76ee5381f760353c53464ddb90cde35409e016b22ded311ac1e571124594b9e4af6e717a5e79b1b9f328c27830b8af996fc6b0f8137
data/.gitignore CHANGED
@@ -3,7 +3,6 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
- Gemfile.lock
7
6
  InstalledFiles
8
7
  _yardoc
9
8
  coverage
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in everyday_natsort.gemspec
4
- gemspec
4
+ gemspec
data/Gemfile.ci CHANGED
@@ -2,4 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'bundler', '~> 1.6'
4
4
  gem 'rake', '~> 10.0'
5
- gem 'rspec'
5
+ gem 'rspec'
6
+ gem 'codeclimate-test-reporter', '~> 0.4', '>= 0.4.7', group: :test, require: nil
@@ -0,0 +1,35 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ everyday_natsort (1.0.3)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.3)
10
+ rake (12.3.3)
11
+ rspec (3.8.0)
12
+ rspec-core (~> 3.8.0)
13
+ rspec-expectations (~> 3.8.0)
14
+ rspec-mocks (~> 3.8.0)
15
+ rspec-core (3.8.2)
16
+ rspec-support (~> 3.8.0)
17
+ rspec-expectations (3.8.4)
18
+ diff-lcs (>= 1.2.0, < 2.0)
19
+ rspec-support (~> 3.8.0)
20
+ rspec-mocks (3.8.1)
21
+ diff-lcs (>= 1.2.0, < 2.0)
22
+ rspec-support (~> 3.8.0)
23
+ rspec-support (3.8.2)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ bundler (~> 2.0)
30
+ everyday_natsort!
31
+ rake (~> 12.3)
32
+ rspec (~> 3.8)
33
+
34
+ BUNDLED WITH
35
+ 2.0.2
data/README.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # EverydayNatsort
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/everyday_natsort.svg)](http://badge.fury.io/rb/everyday_natsort)
4
+ [![Build Status](https://travis-ci.org/henderea/everyday_natsort.svg?branch=master)](https://travis-ci.org/henderea/everyday_natsort)
5
+ [![Dependency Status](https://gemnasium.com/henderea/everyday_natsort.svg)](https://gemnasium.com/henderea/everyday_natsort)
6
+ [![Code Climate](https://codeclimate.com/github/henderea/everyday_natsort/badges/gpa.svg)](https://codeclimate.com/github/henderea/everyday_natsort)
7
+ [![Test Coverage](https://codeclimate.com/github/henderea/everyday_natsort/badges/coverage.svg)](https://codeclimate.com/github/henderea/everyday_natsort)
8
+
9
+ Documetation to come at a later point.
10
+
3
11
  TODO: Write a gem description
4
12
 
5
13
  ## Installation
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.7'
22
- spec.add_development_dependency 'rake', '~> 10.4'
23
- spec.add_development_dependency 'rspec'
21
+ spec.add_development_dependency 'bundler', '~> 2.0'
22
+ spec.add_development_dependency 'rake', '~> 12.3'
23
+ spec.add_development_dependency 'rspec', '~> 3.8'
24
24
  end
@@ -1,3 +1,3 @@
1
1
  module EverydayNatsort
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
@@ -0,0 +1,203 @@
1
+ # coding: utf-8
2
+ require 'rspec'
3
+ require_relative '../../lib/everyday_natsort_kernel'
4
+
5
+ def test_fixes_char(str, char, count)
6
+ str2 = str.strip_accents
7
+ expect(str2).to eq (char * count)
8
+ end
9
+
10
+ describe 'accents (kernel)' do
11
+ it 'fixes A' do
12
+ str = 'ÀÁÂÃÄÅĀĂĄA'
13
+ test_fixes_char(str, 'A', 10)
14
+ end
15
+ it 'fixes a' do
16
+ str = 'àáâãäåāăąa'
17
+ test_fixes_char(str, 'a', 10)
18
+ end
19
+ it 'fixes AE' do
20
+ str = 'ÆAE'
21
+ test_fixes_char(str, 'AE', 2)
22
+ end
23
+ it 'fixes ae' do
24
+ str = 'æae'
25
+ test_fixes_char(str, 'ae', 2)
26
+ end
27
+ it 'fixes C' do
28
+ str = 'ÇĆĈĊČC'
29
+ test_fixes_char(str, 'C', 6)
30
+ end
31
+ it 'fixes c' do
32
+ str = 'çćĉċčc'
33
+ test_fixes_char(str, 'c', 6)
34
+ end
35
+ it 'fixes D' do
36
+ str = 'ĎĐD'
37
+ test_fixes_char(str, 'D', 3)
38
+ end
39
+ it 'fixes d' do
40
+ str = 'ďđd'
41
+ test_fixes_char(str, 'd', 3)
42
+ end
43
+ it 'fixes E' do
44
+ str = 'ÈÉÊËĒĔĖĘĚE'
45
+ test_fixes_char(str, 'E', 10)
46
+ end
47
+ it 'fixes e' do
48
+ str = 'èéêëēĕėęěe'
49
+ test_fixes_char(str, 'e', 10)
50
+ end
51
+ it 'fixes G' do
52
+ str = 'ĜĞĠĢG'
53
+ test_fixes_char(str, 'G', 5)
54
+ end
55
+ it 'fixes g' do
56
+ str = 'ĝğġģg'
57
+ test_fixes_char(str, 'g', 5)
58
+ end
59
+ it 'fixes H' do
60
+ str = 'ĤĦH'
61
+ test_fixes_char(str, 'H', 3)
62
+ end
63
+ it 'fixes h' do
64
+ str = 'ĥħh'
65
+ test_fixes_char(str, 'h', 3)
66
+ end
67
+ it 'fixes I' do
68
+ str = 'ÌÍÎÏĨĪĬĮİI'
69
+ test_fixes_char(str, 'I', 10)
70
+ end
71
+ it 'fixes i' do
72
+ str = 'ìíîïĩīĭįıi'
73
+ test_fixes_char(str, 'i', 10)
74
+ end
75
+ it 'fixes IJ' do
76
+ str = 'IJIJ'
77
+ test_fixes_char(str, 'IJ', 2)
78
+ end
79
+ it 'fixes ij' do
80
+ str = 'ijij'
81
+ test_fixes_char(str, 'ij', 2)
82
+ end
83
+ it 'fixes J' do
84
+ str = 'ĴJ'
85
+ test_fixes_char(str, 'J', 2)
86
+ end
87
+ it 'fixes j' do
88
+ str = 'ĵj'
89
+ test_fixes_char(str, 'j', 2)
90
+ end
91
+ it 'fixes K' do
92
+ str = 'ĶK'
93
+ test_fixes_char(str, 'K', 2)
94
+ end
95
+ it 'fixes k' do
96
+ str = 'ķk'
97
+ test_fixes_char(str, 'k', 2)
98
+ end
99
+ it 'fixes L' do
100
+ str = 'ĹĻĽĿŁL'
101
+ test_fixes_char(str, 'L', 6)
102
+ end
103
+ it 'fixes l' do
104
+ str = 'ĺļľŀłl'
105
+ test_fixes_char(str, 'l', 6)
106
+ end
107
+ it 'fixes N' do
108
+ str = 'ÑŃŅŇŊN'
109
+ test_fixes_char(str, 'N', 6)
110
+ end
111
+ it 'fixes n' do
112
+ str = 'ñńņňʼnŋn'
113
+ test_fixes_char(str, 'n', 7)
114
+ end
115
+ it 'fixes O' do
116
+ str = 'ÒÓÔÕÖØŌŎŐO'
117
+ test_fixes_char(str, 'O', 10)
118
+ end
119
+ it 'fixes o' do
120
+ str = 'òóôõöøōŏőo'
121
+ test_fixes_char(str, 'o', 10)
122
+ end
123
+ it 'fixes OE' do
124
+ str = 'ŒOE'
125
+ test_fixes_char(str, 'OE', 2)
126
+ end
127
+ it 'fixes oe' do
128
+ str = 'œoe'
129
+ test_fixes_char(str, 'oe', 2)
130
+ end
131
+ it 'fixes R' do
132
+ str = 'ŔŖŘR'
133
+ test_fixes_char(str, 'R', 4)
134
+ end
135
+ it 'fixes r' do
136
+ str = 'ŕŗřr'
137
+ test_fixes_char(str, 'r', 4)
138
+ end
139
+ it 'fixes S' do
140
+ str = 'ŚŜŞŠS'
141
+ test_fixes_char(str, 'S', 5)
142
+ end
143
+ it 'fixes s' do
144
+ str = 'śŝşšs'
145
+ test_fixes_char(str, 's', 5)
146
+ end
147
+ it 'fixes T' do
148
+ str = 'ŢŤŦT'
149
+ test_fixes_char(str, 'T', 4)
150
+ end
151
+ it 'fixes t' do
152
+ str = 'ţťŧt'
153
+ test_fixes_char(str, 't', 4)
154
+ end
155
+ it 'fixes U' do
156
+ str = 'ÙÚÛÜŨŪŬŮŰŲU'
157
+ test_fixes_char(str, 'U', 11)
158
+ end
159
+ it 'fixes u' do
160
+ str = 'ùúûüũūŭůűųu'
161
+ test_fixes_char(str, 'u', 11)
162
+ end
163
+ it 'fixes W' do
164
+ str = 'ŴW'
165
+ test_fixes_char(str, 'W', 2)
166
+ end
167
+ it 'fixes w' do
168
+ str = 'ŵw'
169
+ test_fixes_char(str, 'w', 2)
170
+ end
171
+ it 'fixes x' do
172
+ str = '×x'
173
+ test_fixes_char(str, 'x', 2)
174
+ end
175
+ it 'fixes Y' do
176
+ str = 'ÝŶŸY'
177
+ test_fixes_char(str, 'Y', 4)
178
+ end
179
+ it 'fixes y' do
180
+ str = 'ýÿŷy'
181
+ test_fixes_char(str, 'y', 4)
182
+ end
183
+ it 'fixes Z' do
184
+ str = 'ŹŻŽZ'
185
+ test_fixes_char(str, 'Z', 4)
186
+ end
187
+ it 'fixes z' do
188
+ str = 'źżžz'
189
+ test_fixes_char(str, 'z', 4)
190
+ end
191
+ it 'fixes "' do
192
+ str = '“”"'
193
+ test_fixes_char(str, '"', 3)
194
+ end
195
+ it "fixes '" do
196
+ str = "´‘’'"
197
+ test_fixes_char(str, "'", 4)
198
+ end
199
+ it 'fixes -' do
200
+ str = '‐‑‒–—―-'
201
+ test_fixes_char(str, '-', 7)
202
+ end
203
+ end
@@ -9,27 +9,195 @@ end
9
9
 
10
10
  describe 'accents' do
11
11
  it 'fixes A' do
12
- str = 'ÀÁÂÃÄÅĀĂĄ'
13
- test_fixes_char(str, 'A', 9)
12
+ str = 'ÀÁÂÃÄÅĀĂĄA'
13
+ test_fixes_char(str, 'A', 10)
14
14
  end
15
15
  it 'fixes a' do
16
- str = 'àáâãäåāăą'
17
- test_fixes_char(str, 'a', 9)
16
+ str = 'àáâãäåāăąa'
17
+ test_fixes_char(str, 'a', 10)
18
18
  end
19
19
  it 'fixes AE' do
20
- str = 'Æ'
21
- test_fixes_char(str, 'AE', 1)
20
+ str = 'ÆAE'
21
+ test_fixes_char(str, 'AE', 2)
22
22
  end
23
23
  it 'fixes ae' do
24
- str = 'æ'
25
- test_fixes_char(str, 'ae', 1)
26
- end
24
+ str = 'æae'
25
+ test_fixes_char(str, 'ae', 2)
26
+ end
27
27
  it 'fixes C' do
28
- str = 'ÇĆĈĊČ'
29
- test_fixes_char(str, 'C', 5)
30
- end
28
+ str = 'ÇĆĈĊČC'
29
+ test_fixes_char(str, 'C', 6)
30
+ end
31
31
  it 'fixes c' do
32
- str = 'çćĉċč'
33
- test_fixes_char(str, 'c', 5)
32
+ str = 'çćĉċčc'
33
+ test_fixes_char(str, 'c', 6)
34
+ end
35
+ it 'fixes D' do
36
+ str = 'ĎĐD'
37
+ test_fixes_char(str, 'D', 3)
38
+ end
39
+ it 'fixes d' do
40
+ str = 'ďđd'
41
+ test_fixes_char(str, 'd', 3)
42
+ end
43
+ it 'fixes E' do
44
+ str = 'ÈÉÊËĒĔĖĘĚE'
45
+ test_fixes_char(str, 'E', 10)
46
+ end
47
+ it 'fixes e' do
48
+ str = 'èéêëēĕėęěe'
49
+ test_fixes_char(str, 'e', 10)
50
+ end
51
+ it 'fixes G' do
52
+ str = 'ĜĞĠĢG'
53
+ test_fixes_char(str, 'G', 5)
54
+ end
55
+ it 'fixes g' do
56
+ str = 'ĝğġģg'
57
+ test_fixes_char(str, 'g', 5)
58
+ end
59
+ it 'fixes H' do
60
+ str = 'ĤĦH'
61
+ test_fixes_char(str, 'H', 3)
62
+ end
63
+ it 'fixes h' do
64
+ str = 'ĥħh'
65
+ test_fixes_char(str, 'h', 3)
66
+ end
67
+ it 'fixes I' do
68
+ str = 'ÌÍÎÏĨĪĬĮİI'
69
+ test_fixes_char(str, 'I', 10)
70
+ end
71
+ it 'fixes i' do
72
+ str = 'ìíîïĩīĭįıi'
73
+ test_fixes_char(str, 'i', 10)
74
+ end
75
+ it 'fixes IJ' do
76
+ str = 'IJIJ'
77
+ test_fixes_char(str, 'IJ', 2)
78
+ end
79
+ it 'fixes ij' do
80
+ str = 'ijij'
81
+ test_fixes_char(str, 'ij', 2)
82
+ end
83
+ it 'fixes J' do
84
+ str = 'ĴJ'
85
+ test_fixes_char(str, 'J', 2)
86
+ end
87
+ it 'fixes j' do
88
+ str = 'ĵj'
89
+ test_fixes_char(str, 'j', 2)
90
+ end
91
+ it 'fixes K' do
92
+ str = 'ĶK'
93
+ test_fixes_char(str, 'K', 2)
94
+ end
95
+ it 'fixes k' do
96
+ str = 'ķk'
97
+ test_fixes_char(str, 'k', 2)
98
+ end
99
+ it 'fixes L' do
100
+ str = 'ĹĻĽĿŁL'
101
+ test_fixes_char(str, 'L', 6)
102
+ end
103
+ it 'fixes l' do
104
+ str = 'ĺļľŀłl'
105
+ test_fixes_char(str, 'l', 6)
106
+ end
107
+ it 'fixes N' do
108
+ str = 'ÑŃŅŇŊN'
109
+ test_fixes_char(str, 'N', 6)
110
+ end
111
+ it 'fixes n' do
112
+ str = 'ñńņňʼnŋn'
113
+ test_fixes_char(str, 'n', 7)
114
+ end
115
+ it 'fixes O' do
116
+ str = 'ÒÓÔÕÖØŌŎŐO'
117
+ test_fixes_char(str, 'O', 10)
118
+ end
119
+ it 'fixes o' do
120
+ str = 'òóôõöøōŏőo'
121
+ test_fixes_char(str, 'o', 10)
122
+ end
123
+ it 'fixes OE' do
124
+ str = 'ŒOE'
125
+ test_fixes_char(str, 'OE', 2)
126
+ end
127
+ it 'fixes oe' do
128
+ str = 'œoe'
129
+ test_fixes_char(str, 'oe', 2)
130
+ end
131
+ it 'fixes R' do
132
+ str = 'ŔŖŘR'
133
+ test_fixes_char(str, 'R', 4)
134
+ end
135
+ it 'fixes r' do
136
+ str = 'ŕŗřr'
137
+ test_fixes_char(str, 'r', 4)
138
+ end
139
+ it 'fixes S' do
140
+ str = 'ŚŜŞŠS'
141
+ test_fixes_char(str, 'S', 5)
142
+ end
143
+ it 'fixes s' do
144
+ str = 'śŝşšs'
145
+ test_fixes_char(str, 's', 5)
146
+ end
147
+ it 'fixes T' do
148
+ str = 'ŢŤŦT'
149
+ test_fixes_char(str, 'T', 4)
150
+ end
151
+ it 'fixes t' do
152
+ str = 'ţťŧt'
153
+ test_fixes_char(str, 't', 4)
154
+ end
155
+ it 'fixes U' do
156
+ str = 'ÙÚÛÜŨŪŬŮŰŲU'
157
+ test_fixes_char(str, 'U', 11)
158
+ end
159
+ it 'fixes u' do
160
+ str = 'ùúûüũūŭůűųu'
161
+ test_fixes_char(str, 'u', 11)
162
+ end
163
+ it 'fixes W' do
164
+ str = 'ŴW'
165
+ test_fixes_char(str, 'W', 2)
166
+ end
167
+ it 'fixes w' do
168
+ str = 'ŵw'
169
+ test_fixes_char(str, 'w', 2)
170
+ end
171
+ it 'fixes x' do
172
+ str = '×x'
173
+ test_fixes_char(str, 'x', 2)
174
+ end
175
+ it 'fixes Y' do
176
+ str = 'ÝŶŸY'
177
+ test_fixes_char(str, 'Y', 4)
178
+ end
179
+ it 'fixes y' do
180
+ str = 'ýÿŷy'
181
+ test_fixes_char(str, 'y', 4)
182
+ end
183
+ it 'fixes Z' do
184
+ str = 'ŹŻŽZ'
185
+ test_fixes_char(str, 'Z', 4)
186
+ end
187
+ it 'fixes z' do
188
+ str = 'źżžz'
189
+ test_fixes_char(str, 'z', 4)
190
+ end
191
+ it 'fixes "' do
192
+ str = '“”"'
193
+ test_fixes_char(str, '"', 3)
194
+ end
195
+ it "fixes '" do
196
+ str = "´‘’'"
197
+ test_fixes_char(str, "'", 4)
198
+ end
199
+ it 'fixes -' do
200
+ str = '‐‑‒–—―-'
201
+ test_fixes_char(str, '-', 7)
34
202
  end
35
203
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: everyday_natsort
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Henderson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-17 00:00:00.000000000 Z
11
+ date: 2019-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.7'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.4'
33
+ version: '12.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.4'
40
+ version: '12.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '3.8'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '3.8'
55
55
  description: A gem for natural sorting and accent stripping. Based on the naturalsort
56
56
  gem, but with enhancements to handle accented characters and hyphen versus underscore. Accents
57
57
  handling is also available as a separate module.
@@ -66,6 +66,7 @@ files:
66
66
  - ".travis.yml"
67
67
  - Gemfile
68
68
  - Gemfile.ci
69
+ - Gemfile.lock
69
70
  - LICENSE.txt
70
71
  - README.md
71
72
  - Rakefile
@@ -77,6 +78,7 @@ files:
77
78
  - lib/everyday_natsort/natural.rb
78
79
  - lib/everyday_natsort/version.rb
79
80
  - lib/everyday_natsort_kernel.rb
81
+ - spec/everyday_natsort/accents_kernel_spec.rb
80
82
  - spec/everyday_natsort/accents_spec.rb
81
83
  - spec/spec_helper.rb
82
84
  homepage: https://github.com/henderea/everyday_natsort
@@ -98,12 +100,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
100
  - !ruby/object:Gem::Version
99
101
  version: '0'
100
102
  requirements: []
101
- rubyforge_project:
102
- rubygems_version: 2.4.5
103
+ rubygems_version: 3.0.4
103
104
  signing_key:
104
105
  specification_version: 4
105
106
  summary: A gem for natural sorting and accent stripping. Based on the naturalsort
106
107
  gem.
107
108
  test_files:
109
+ - spec/everyday_natsort/accents_kernel_spec.rb
108
110
  - spec/everyday_natsort/accents_spec.rb
109
111
  - spec/spec_helper.rb