friends 0.42 → 0.43

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
- SHA256:
3
- metadata.gz: f22962545b83fa5532f7533ff3695a860a2f0190a0b2b6ff9e4ce86437de3821
4
- data.tar.gz: 037cafd4b8f73d84bb1d7a609899079371621a1469a7705730902df3788f4291
2
+ SHA1:
3
+ metadata.gz: 779330dcc4a5fb8acc1ab8f7454045d9d69d0967
4
+ data.tar.gz: '04199e1544035835057259d1a4640609d4fa15d4'
5
5
  SHA512:
6
- metadata.gz: ad3125d9527c7eed75e44e1317488faeaa5f4a9a8725fde13b76cb785f9f049bf0915bc931e36ee60a7d157ec17ed87d0a846baa26c24e2659387cf1afad81f7
7
- data.tar.gz: a8d68d8dda6427becab02cd0456574f535ab9d2ecd6c73455124f61b607d2b08ada41ee7767cefbf1bcf43ee3f01a180f87cfc318bddf335cc421472dbb22bf6
6
+ metadata.gz: f32cb8224ae8eefbf19696f940109ade23f6092eb4c180907f30b4e0c4cb84ed047989235d5dcab54759be909bf25ac8e14527142dd1ae2a3b3f0da898c721ac
7
+ data.tar.gz: 760b017d4d42f127091227d592b4c3d044b5f2570e0156d0cd94789e7dce02cd128bb9c45628001537ead08374604667aa7738852106f2cd15e4dcd7549e1f8a
@@ -1,12 +1,19 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.0
4
- - 2.2.0
5
- - 2.3.0
6
- - 2.4.0
7
- - 2.5.0
3
+ - 2.1.0
4
+ - 2.2.0
5
+ - 2.3.0
6
+ - 2.4.0 # 2.5.0 is tested below
7
+ branches:
8
+ only:
9
+ - master
8
10
  script:
9
- - bundle exec rake test
10
- - bundle exec rubocop
11
+ - bundle exec rake test
12
+ matrix:
13
+ include:
14
+ - rvm: 2.5.0
15
+ script:
16
+ - bundle exec rake test
17
+ - gem install rubocop && rubocop
11
18
  notifications:
12
19
  email: false
@@ -14,6 +14,26 @@ making a small donation (🙏) to show you appreciate its continued development.
14
14
 
15
15
  👆 Donate with these buttons! 👆
16
16
 
17
+ ## [v0.43](https://github.com/JacobEvelyn/friends/tree/v0.43) (2018-11-25)
18
+ [Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.42...v0.43)
19
+
20
+ **Implemented enhancements:**
21
+
22
+ - Improve matches for friends with only first names [\#215](https://github.com/JacobEvelyn/friends/issues/215)
23
+ - Better match friends with middle names [\#213](https://github.com/JacobEvelyn/friends/issues/213)
24
+
25
+ **Closed issues:**
26
+
27
+ - When specifying a file that does not exist, prompt to create it instead of aborting [\#214](https://github.com/JacobEvelyn/friends/issues/214)
28
+ - Dependabot can't evaluate your Ruby dependency files [\#211](https://github.com/JacobEvelyn/friends/issues/211)
29
+ - Sqlite as a backing datastore [\#210](https://github.com/JacobEvelyn/friends/issues/210)
30
+ - Generate Searchable Static Site [\#209](https://github.com/JacobEvelyn/friends/issues/209)
31
+
32
+ **Merged pull requests:**
33
+
34
+ - Improve friend name matching for various edge cases [\#216](https://github.com/JacobEvelyn/friends/pull/216) ([JacobEvelyn](https://github.com/JacobEvelyn))
35
+ - Fix contributing guide link [\#212](https://github.com/JacobEvelyn/friends/pull/212) ([Nitemice](https://github.com/Nitemice))
36
+
17
37
  ## [v0.42](https://github.com/JacobEvelyn/friends/tree/v0.42) (2018-09-22)
18
38
  [Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.41...v0.42)
19
39
 
@@ -67,7 +87,7 @@ making a small donation (🙏) to show you appreciate its continued development.
67
87
  - Give name-matching priority to full-text matches [\#203](https://github.com/JacobEvelyn/friends/pull/203) ([JacobEvelyn](https://github.com/JacobEvelyn))
68
88
  - Prevent the addition of blank events, names, and locations [\#200](https://github.com/JacobEvelyn/friends/pull/200) ([JacobEvelyn](https://github.com/JacobEvelyn))
69
89
  - Fix Rubocop errors [\#196](https://github.com/JacobEvelyn/friends/pull/196) ([JacobEvelyn](https://github.com/JacobEvelyn))
70
- - Update rake requirement to ~\> 12.3 [\#194](https://github.com/JacobEvelyn/friends/pull/194) ([dependabot[bot]](https://github.com/marketplace/dependabot))
90
+ - Update rake requirement to ~\> 12.3 [\#194](https://github.com/JacobEvelyn/friends/pull/194) ([dependabot[bot]](https://github.com/apps/dependabot))
71
91
 
72
92
  ## [v0.37](https://github.com/JacobEvelyn/friends/tree/v0.37) (2018-02-24)
73
93
  [Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.36...v0.37)
@@ -608,4 +628,4 @@ making a small donation (🙏) to show you appreciate its continued development.
608
628
  ## [v0.0.1](https://github.com/JacobEvelyn/friends/tree/v0.0.1) (2014-12-11)
609
629
 
610
630
 
611
- \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
631
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
data/README.md CHANGED
@@ -932,7 +932,7 @@ If you have an idea,
932
932
  [make a GitHub issue](https://github.com/JacobEvelyn/friends/issues/new)!
933
933
  Suggestions are very very welcome, and usually are implemented very
934
934
  quickly. And if you'd like to do the implementing yourself, see the
935
- [contributing guide](https://github.com/JacobEvelyn/friends/blob/master/CONTRIBUTING.md).
935
+ [contributing guide](https://github.com/JacobEvelyn/friends/blob/master/.github/CONTRIBUTING.md).
936
936
 
937
937
  A big big thanks to all of this project's lovely
938
938
  [contributors](https://github.com/JacobEvelyn/friends/graphs/contributors):
@@ -38,6 +38,5 @@ Gem::Specification.new do |spec|
38
38
  spec.add_development_dependency "minitest", "~> 5.5"
39
39
  spec.add_development_dependency "minitest-proveit", "~> 1.0"
40
40
  spec.add_development_dependency "rake", "~> 12.3"
41
- spec.add_development_dependency "rubocop", "~> 0.49"
42
41
  spec.add_development_dependency "simplecov", "~> 0.14"
43
42
  end
@@ -131,7 +131,7 @@ module Friends
131
131
  # We check nicknames before first names because nicknames may contain
132
132
  # first names, as in "Amazing Grace" being a nickname for Grace Hopper.
133
133
  [
134
- chunks,
134
+ chunks, # Match a full name with the highest priority.
135
135
  *@nicknames.map { |n| [n] },
136
136
 
137
137
  # Match a first name followed by a last name initial, period, and then
@@ -139,16 +139,16 @@ module Friends
139
139
  # the "Jake E." part of something like "Jake E. and I went skiing." This
140
140
  # allows us to correctly count the period as part of the name when it's
141
141
  # in the middle of a sentence.
142
- [chunks.first, "#{chunks.last[0]}\.(?=#{splitter}(?-i)[a-z])"],
142
+ ([chunks.first, "#{chunks.last[0]}\.(?=#{splitter}(?-i)[a-z])"] if chunks.size > 1),
143
143
 
144
144
  # If the above doesn't match, we check for just the first name and then
145
145
  # a last name initial. This matches the "Jake E" part of something like
146
146
  # "I went skiing with Jake E." This allows us to correctly exclude the
147
147
  # period from the name when it's at the end of a sentence.
148
- [chunks.first, chunks.last[0]],
148
+ ([chunks.first, chunks.last[0]] if chunks.size > 1),
149
149
 
150
- [chunks.first]
151
- ].map do |words|
150
+ *(1..chunks.size - 1).map { |i| chunks.take(i) }.reverse
151
+ ].compact.map do |words|
152
152
  Friends::RegexBuilder.regex(words.join(splitter))
153
153
  end
154
154
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Friends
4
- TAG_REGEX = /(?<!\p{Alnum})@\p{Alnum}(?:[:-]?\p{Alnum})*/
4
+ TAG_REGEX = /(?<!\p{Alnum})@\p{Alnum}(?:[:-]?\p{Alnum})*/.freeze
5
5
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Friends
4
- VERSION = "0.42".freeze
4
+ VERSION = "0.43".freeze
5
5
  end
@@ -258,6 +258,59 @@ FILE
258
258
  end
259
259
  end
260
260
 
261
+ describe "when a friend's first and middle name matches two other friends' first names" do
262
+ let(:description) { "Met Martin Luther." }
263
+
264
+ # Make sure "Martin Jones" and "Luther Jones" are closer friends than
265
+ # "Martin Luther King" so we know our test result isn't due to chance.
266
+ let(:content) do
267
+ <<-FILE
268
+ ### Activities:
269
+ - 2018-01-01: Singing with **Martin Jones**.
270
+ - 2018-01-01: Dancing with **Luther Jones**.
271
+
272
+ ### Notes:
273
+
274
+ ### Friends:
275
+ - Luther Jones
276
+ - Martin Jones
277
+ - Martin Luther King
278
+
279
+ ### Locations:
280
+ FILE
281
+ end
282
+
283
+ it { line_added "- #{date}: Met **Martin Luther King**." }
284
+ if test_stdout
285
+ it { stdout_only "#{capitalized_event} added: \"#{date}: Met Martin Luther King.\"" }
286
+ end
287
+ end
288
+
289
+ describe "when a friend has a first name only" do
290
+ # We want to explicitly check that the first-name last-initial behavior
291
+ # doesn't kick in here and match "Alejandra A" when the friend has no
292
+ # last name.
293
+ let(:description) { "Met Alejandra a few times." }
294
+
295
+ let(:content) do
296
+ <<-FILE
297
+ ### Activities:
298
+
299
+ ### Notes:
300
+
301
+ ### Friends:
302
+ - Alejandra
303
+
304
+ ### Locations:
305
+ FILE
306
+ end
307
+
308
+ it { line_added "- #{date}: Met **Alejandra** a few times." }
309
+ if test_stdout
310
+ it { stdout_only "#{capitalized_event} added: \"#{date}: Met Alejandra a few times.\"" }
311
+ end
312
+ end
313
+
261
314
  describe "when description has a friend's name with leading asterisks" do
262
315
  let(:description) { "Lunch with **Grace Hopper." }
263
316
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: friends
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.42'
4
+ version: '0.43'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Evelyn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-22 00:00:00.000000000 Z
11
+ date: 2018-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chronic
@@ -150,20 +150,6 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '12.3'
153
- - !ruby/object:Gem::Dependency
154
- name: rubocop
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '0.49'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '0.49'
167
153
  - !ruby/object:Gem::Dependency
168
154
  name: simplecov
169
155
  requirement: !ruby/object:Gem::Requirement
@@ -279,7 +265,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
279
265
  version: '0'
280
266
  requirements: []
281
267
  rubyforge_project:
282
- rubygems_version: 2.7.3
268
+ rubygems_version: 2.6.8
283
269
  signing_key:
284
270
  specification_version: 4
285
271
  summary: Spend time with the people you care about.