friends 0.47 → 0.52
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 +4 -4
- data/.github/CONTRIBUTING.md +41 -36
- data/.github/FUNDING.yml +4 -0
- data/.github/ISSUE_TEMPLATE.md +1 -6
- data/.rubocop.yml +20 -5
- data/.travis.yml +5 -5
- data/CHANGELOG.md +78 -10
- data/Gemfile +2 -4
- data/README.md +31 -28
- data/RELEASING.md +1 -1
- data/bin/friends +3 -7
- data/friends.gemspec +3 -5
- data/friends.md +2 -2
- data/lib/friends/commands/edit.rb +1 -1
- data/lib/friends/commands/update.rb +2 -2
- data/lib/friends/event.rb +4 -4
- data/lib/friends/friend.rb +20 -13
- data/lib/friends/graph.rb +1 -1
- data/lib/friends/introvert.rb +47 -9
- data/lib/friends/location.rb +1 -1
- data/lib/friends/post_install_message.rb +1 -2
- data/lib/friends/regex_builder.rb +8 -8
- data/lib/friends/sem_ver_comparator.rb +20 -0
- data/lib/friends/serializable.rb +1 -1
- data/lib/friends/version.rb +1 -1
- data/test/add_event_helper.rb +59 -3
- data/test/commands/add/activity_spec.rb +294 -0
- data/test/commands/edit_spec.rb +33 -2
- data/test/commands/graph_spec.rb +4 -4
- data/test/commands/list/activities_spec.rb +55 -25
- data/test/commands/list/favorite/friends_spec.rb +1 -1
- data/test/commands/list/favorite/locations_spec.rb +8 -8
- data/test/commands/list/locations_spec.rb +1 -1
- data/test/commands/remove/tag_spec.rb +9 -0
- data/test/commands/rename/friend_spec.rb +2 -2
- data/test/commands/suggest_spec.rb +2 -2
- data/test/editor +2 -0
- data/test/helper.rb +7 -7
- metadata +7 -25
data/test/commands/edit_spec.rb
CHANGED
@@ -36,6 +36,37 @@ clean_describe "edit" do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
+
describe "when editor is multiple words" do
|
40
|
+
let(:editor) { "'cat -u'" }
|
41
|
+
|
42
|
+
describe "when output is quieted" do
|
43
|
+
let(:quiet) { "--quiet" }
|
44
|
+
|
45
|
+
it 'opens the file in the "editor"' do
|
46
|
+
stdout_only content
|
47
|
+
end
|
48
|
+
|
49
|
+
it "cleans the file" do
|
50
|
+
file_equals CONTENT # File is cleaned (no longer scrambled).
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "when output is not quieted" do
|
55
|
+
let(:quiet) { nil }
|
56
|
+
|
57
|
+
# Since our "editor" is just `cat -u`, our STDOUT output will include both the opening
|
58
|
+
# message and the contents of the file.
|
59
|
+
it 'prints a message and opens the file in the "editor"' do
|
60
|
+
stdout_only "Opening \"#{filename}\" with \"#{editor.tr("'", '')}\""\
|
61
|
+
"\n#{content}File cleaned: \"#{filename}\""
|
62
|
+
end
|
63
|
+
|
64
|
+
it "cleans the file" do
|
65
|
+
file_equals CONTENT # File is cleaned (no longer scrambled).
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
39
70
|
describe "when editor does not exit successfully" do
|
40
71
|
let(:editor) { "'exit 1 #'" }
|
41
72
|
|
@@ -78,7 +109,7 @@ Not cleaning file: "#{filename}" ("exit 1 #" did not exit successfully)
|
|
78
109
|
<<-EXPECTED_CONTENT
|
79
110
|
### Activities:
|
80
111
|
- 2018-02-06: @science:indoors:agronomy-with-hydroponics: **Norman Borlaug** and **George Washington Carver** scored a tour of _Atlantis_' hydroponics gardens through wetplants@example.org and they took me along.
|
81
|
-
- 2015-11-01: **Grace Hopper** and I went to
|
112
|
+
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
82
113
|
- 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
83
114
|
- 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
|
84
115
|
- 2014-12-16: Okay, yep, I definitely just saw **Bigfoot** in the _Mysterious Mountains_!
|
@@ -101,7 +132,7 @@ Not cleaning file: "#{filename}" ("exit 1 #" did not exit successfully)
|
|
101
132
|
|
102
133
|
### Locations:
|
103
134
|
- Atlantis
|
104
|
-
-
|
135
|
+
- Martha's Vineyard
|
105
136
|
- Mysterious Mountains
|
106
137
|
- Paris
|
107
138
|
EXPECTED_CONTENT
|
data/test/commands/graph_spec.rb
CHANGED
@@ -27,7 +27,7 @@ clean_describe "graph" do
|
|
27
27
|
let(:content) do
|
28
28
|
<<-FILE
|
29
29
|
### Activities:
|
30
|
-
- 2015-11-01: **Grace Hopper** and I went to
|
30
|
+
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
31
31
|
- 2015-01-14: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
32
32
|
- 2015-01-06: Did some other things in _Paris_.
|
33
33
|
- 2015-01-06: Did even more things in _Paris_.
|
@@ -42,7 +42,7 @@ clean_describe "graph" do
|
|
42
42
|
|
43
43
|
### Locations:
|
44
44
|
- Atlantis
|
45
|
-
-
|
45
|
+
- Martha's Vineyard
|
46
46
|
- Paris
|
47
47
|
FILE
|
48
48
|
end
|
@@ -273,7 +273,7 @@ Nov 2014 |∙|
|
|
273
273
|
|
274
274
|
it "matches tag case-insensitively and scales the graph" do
|
275
275
|
stdout_only <<-OUTPUT
|
276
|
-
Nov 2015
|
276
|
+
Nov 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
|
277
277
|
Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
|
278
278
|
Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
|
279
279
|
Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
|
@@ -294,7 +294,7 @@ Nov 2014 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
|
|
294
294
|
|
295
295
|
it "matches tag case-insensitively and does not scale graph" do
|
296
296
|
stdout_only <<-OUTPUT
|
297
|
-
Nov 2015
|
297
|
+
Nov 2015 |∙|
|
298
298
|
Oct 2015 |
|
299
299
|
Sep 2015 |
|
300
300
|
Aug 2015 |
|
@@ -26,13 +26,13 @@ clean_describe "list activities" do
|
|
26
26
|
# only reads from the (usually-sorted) file.
|
27
27
|
let(:content) { SCRAMBLED_CONTENT }
|
28
28
|
|
29
|
-
it "lists activities in
|
29
|
+
it "lists activities in sorted order" do
|
30
30
|
stdout_only <<-OUTPUT
|
31
|
-
2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
32
|
-
2015-11-01: Grace Hopper and I went to Marie's Diner. George had to cancel at the last minute. @food
|
33
31
|
2018-02-06: @science:indoors:agronomy-with-hydroponics: Norman Borlaug and George Washington Carver scored a tour of Atlantis' hydroponics gardens through wetplants@example.org and they took me along.
|
34
|
-
|
32
|
+
2015-11-01: Grace Hopper and I went to Martha's Vineyard. George had to cancel at the last minute.
|
33
|
+
2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
35
34
|
2014-12-31: Celebrated the new year in Paris with Marie Curie. @partying
|
35
|
+
2014-11-15: Talked to George Washington Carver on the phone for an hour.
|
36
36
|
OUTPUT
|
37
37
|
end
|
38
38
|
|
@@ -55,15 +55,16 @@ clean_describe "list activities" do
|
|
55
55
|
|
56
56
|
describe "when implicit location is set" do
|
57
57
|
let(:location_name) { "atlantis" }
|
58
|
-
|
59
|
-
|
58
|
+
describe "when activities are in order" do
|
59
|
+
let(:content) do
|
60
|
+
<<-FILE
|
60
61
|
### Activities:
|
61
|
-
-
|
62
|
-
-
|
63
|
-
-
|
64
|
-
-
|
65
|
-
-
|
66
|
-
-
|
62
|
+
- 2000-01-06: Went to a museum with **George Washington Carver**.
|
63
|
+
- 2000-01-05: Moved to _Paris_.
|
64
|
+
- 2000-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
65
|
+
- 2000-01-03: Celebrated my birthday in _Paris_ with **Marie Curie**. @partying @food
|
66
|
+
- 2000-01-02: Went to _Atlantis_.
|
67
|
+
- 2000-01-01: Talked to **George Washington Carver** on the phone for an hour.
|
67
68
|
|
68
69
|
### Friends:
|
69
70
|
- George Washington Carver
|
@@ -73,14 +74,44 @@ clean_describe "list activities" do
|
|
73
74
|
### Locations:
|
74
75
|
- Atlantis
|
75
76
|
- Paris
|
76
|
-
|
77
|
+
FILE
|
78
|
+
end
|
79
|
+
|
80
|
+
it "matches location case-insensitively" do
|
81
|
+
stdout_only <<-OUTPUT
|
82
|
+
2000-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
83
|
+
2000-01-02: Went to Atlantis.
|
84
|
+
OUTPUT
|
85
|
+
end
|
77
86
|
end
|
87
|
+
describe "when activities are not in order" do
|
88
|
+
let(:content) do
|
89
|
+
<<-FILE
|
90
|
+
### Activities:
|
91
|
+
- 2000-01-06: Went to a museum with **George Washington Carver**.
|
92
|
+
- 2000-01-02: Went to _Atlantis_.
|
93
|
+
- 2000-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
94
|
+
- 2000-01-03: Celebrated my birthday in _Paris_ with **Marie Curie**. @partying @food
|
95
|
+
- 2000-01-05: Moved to _Paris_.
|
96
|
+
- 2000-01-01: Talked to **George Washington Carver** on the phone for an hour.
|
78
97
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
98
|
+
### Friends:
|
99
|
+
- George Washington Carver
|
100
|
+
- Marie Curie [Atlantis] @science
|
101
|
+
- Grace Hopper (a.k.a. The Admiral a.k.a. Amazing Grace) [Paris] @navy @science
|
102
|
+
|
103
|
+
### Locations:
|
104
|
+
- Atlantis
|
105
|
+
- Paris
|
106
|
+
FILE
|
107
|
+
end
|
108
|
+
|
109
|
+
it "matches location case-insensitively" do
|
110
|
+
stdout_only <<-OUTPUT
|
111
|
+
2000-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
112
|
+
2000-01-02: Went to Atlantis.
|
113
|
+
OUTPUT
|
114
|
+
end
|
84
115
|
end
|
85
116
|
end
|
86
117
|
end
|
@@ -127,7 +158,6 @@ clean_describe "list activities" do
|
|
127
158
|
it "matches tag case-insensitively" do
|
128
159
|
stdout_only <<-OUTPUT
|
129
160
|
2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
130
|
-
2015-11-01: Grace Hopper and I went to Marie's Diner. George had to cancel at the last minute. @food
|
131
161
|
OUTPUT
|
132
162
|
end
|
133
163
|
|
@@ -139,7 +169,7 @@ clean_describe "list activities" do
|
|
139
169
|
<<-FILE
|
140
170
|
### Activities:
|
141
171
|
- 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
142
|
-
- 2015-11-01: **Grace Hopper** and I went to
|
172
|
+
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
143
173
|
- 2014-11-15: Talked to **George Washington Carver** on the phone for an hour.
|
144
174
|
- 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying @food
|
145
175
|
|
@@ -161,11 +191,11 @@ FILE
|
|
161
191
|
describe "--since" do
|
162
192
|
subject { run_cmd("list activities --since 'January 4th 2015'") }
|
163
193
|
|
164
|
-
it "lists activities on and after the specified date" do
|
194
|
+
it "lists activities on and after the specified date in order" do
|
165
195
|
stdout_only <<-OUTPUT
|
166
|
-
2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
167
|
-
2015-11-01: Grace Hopper and I went to Marie's Diner. George had to cancel at the last minute. @food
|
168
196
|
2018-02-06: @science:indoors:agronomy-with-hydroponics: Norman Borlaug and George Washington Carver scored a tour of Atlantis' hydroponics gardens through wetplants@example.org and they took me along.
|
197
|
+
2015-11-01: Grace Hopper and I went to Martha's Vineyard. George had to cancel at the last minute.
|
198
|
+
2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
169
199
|
OUTPUT
|
170
200
|
end
|
171
201
|
end
|
@@ -173,11 +203,11 @@ FILE
|
|
173
203
|
describe "--until" do
|
174
204
|
subject { run_cmd("list activities --until 'January 4th 2015'") }
|
175
205
|
|
176
|
-
it "lists activities before and on the specified date" do
|
206
|
+
it "lists activities before and on the specified date in order" do
|
177
207
|
stdout_only <<-OUTPUT
|
178
208
|
2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
179
|
-
2014-11-15: Talked to George Washington Carver on the phone for an hour.
|
180
209
|
2014-12-31: Celebrated the new year in Paris with Marie Curie. @partying
|
210
|
+
2014-11-15: Talked to George Washington Carver on the phone for an hour.
|
181
211
|
OUTPUT
|
182
212
|
end
|
183
213
|
end
|
@@ -26,7 +26,7 @@ clean_describe "list favorite friends" do
|
|
26
26
|
<<-FILE
|
27
27
|
### Activities:
|
28
28
|
- 2017-01-01: Did some math with **Grace Hopper**.
|
29
|
-
- 2015-11-01: **Grace Hopper** and I went to
|
29
|
+
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
30
30
|
- 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
31
31
|
- 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
|
32
32
|
- 2014-11-15: Talked to **George Washington Carver** on the phone for an hour.
|
@@ -25,8 +25,8 @@ clean_describe "list favorite locations" do
|
|
25
25
|
let(:content) do
|
26
26
|
<<-FILE
|
27
27
|
### Activities:
|
28
|
-
- 2017-01-01: **Grace Hopper** and I went to
|
29
|
-
- 2015-11-01: **Grace Hopper** and I went to
|
28
|
+
- 2017-01-01: **Grace Hopper** and I went to _Martha's Vineyard_ for breakfast.
|
29
|
+
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
30
30
|
- 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
31
31
|
- 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
|
32
32
|
- 2014-11-15: Talked to **George Washington Carver** on the phone for an hour.
|
@@ -38,7 +38,7 @@ clean_describe "list favorite locations" do
|
|
38
38
|
|
39
39
|
### Locations:
|
40
40
|
- Atlantis
|
41
|
-
-
|
41
|
+
- Martha's Vineyard
|
42
42
|
- Paris
|
43
43
|
FILE
|
44
44
|
end
|
@@ -46,9 +46,9 @@ FILE
|
|
46
46
|
it "lists locations in order of decreasing activity" do
|
47
47
|
stdout_only <<-OUTPUT
|
48
48
|
Your favorite locations:
|
49
|
-
1.
|
50
|
-
2. Paris
|
51
|
-
3. Atlantis
|
49
|
+
1. Martha's Vineyard (2 activities)
|
50
|
+
2. Paris (1)
|
51
|
+
3. Atlantis (0)
|
52
52
|
OUTPUT
|
53
53
|
end
|
54
54
|
|
@@ -120,10 +120,10 @@ FILE
|
|
120
120
|
<<-FILE
|
121
121
|
### Activities:
|
122
122
|
- 2015-01-30: Went to a museum with **George Washington Carver**.
|
123
|
-
- 2015-01-29:
|
123
|
+
- 2015-01-29: Moved to _Paris_.
|
124
124
|
- 2015-01-01: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
125
125
|
- 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying @food
|
126
|
-
- 2014-12-30:
|
126
|
+
- 2014-12-30: Went to _Atlantis_.
|
127
127
|
- 2014-12-29: Talked to **George Washington Carver** on the phone for an hour.
|
128
128
|
|
129
129
|
### Friends:
|
@@ -7,6 +7,15 @@ clean_describe "remove tag" do
|
|
7
7
|
|
8
8
|
let(:content) { CONTENT }
|
9
9
|
|
10
|
+
describe "when friend name and tag are blank" do
|
11
|
+
let(:friend_name) { nil }
|
12
|
+
let(:tag) { nil }
|
13
|
+
|
14
|
+
it "prints an error message" do
|
15
|
+
stderr_only 'Error: No friend found for ""'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
10
19
|
describe "when friend name has no matches" do
|
11
20
|
let(:friend_name) { "Garbage" }
|
12
21
|
let(:tag) { "science" }
|
@@ -35,7 +35,7 @@ clean_describe "rename friend" do
|
|
35
35
|
it "updates friend name in activities" do
|
36
36
|
value(run_cmd("list activities")[:stdout]).must_equal <<-FILE
|
37
37
|
2018-02-06: @science:indoors:agronomy-with-hydroponics: Norman Borlaug and George Washington Carver scored a tour of Atlantis' hydroponics gardens through wetplants@example.org and they took me along.
|
38
|
-
2015-11-01: Grace Hopper and I went to
|
38
|
+
2015-11-01: Grace Hopper and I went to Martha's Vineyard. George had to cancel at the last minute.
|
39
39
|
2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
|
40
40
|
2014-12-31: Celebrated the new year in Paris with Marie Curie. @partying
|
41
41
|
2014-11-15: Talked to George Washington Carver on the phone for an hour.
|
@@ -43,7 +43,7 @@ clean_describe "rename friend" do
|
|
43
43
|
subject
|
44
44
|
value(run_cmd("list activities")[:stdout]).must_equal <<-FILE
|
45
45
|
2018-02-06: @science:indoors:agronomy-with-hydroponics: Norman Borlaug and George Washington scored a tour of Atlantis' hydroponics gardens through wetplants@example.org and they took me along.
|
46
|
-
2015-11-01: Grace Hopper and I went to
|
46
|
+
2015-11-01: Grace Hopper and I went to Martha's Vineyard. George had to cancel at the last minute.
|
47
47
|
2015-01-04: Got lunch with Grace Hopper and George Washington. @food
|
48
48
|
2014-12-31: Celebrated the new year in Paris with Marie Curie. @partying
|
49
49
|
2014-11-15: Talked to George Washington on the phone for an hour.
|
@@ -48,7 +48,7 @@ Close friend: None found
|
|
48
48
|
- 2016-03-01: Met up with **Grace Hopper**.
|
49
49
|
- 2016-02-01: Met up with **Grace Hopper**.
|
50
50
|
- 2016-01-01: Met up with **Grace Hopper**.
|
51
|
-
- 2015-11-01: **Grace Hopper** and I went to
|
51
|
+
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
52
52
|
- 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
53
53
|
- 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
|
54
54
|
- 2014-11-15: Talked to **George Washington Carver** on the phone for an hour.
|
@@ -60,7 +60,7 @@ Close friend: None found
|
|
60
60
|
|
61
61
|
### Locations:
|
62
62
|
- Atlantis
|
63
|
-
-
|
63
|
+
- Martha's Vineyard
|
64
64
|
- Paris
|
65
65
|
FILE
|
66
66
|
end
|
data/test/editor
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
3
5
|
# This is an example "editor" used to test the `friends edit` command.
|
4
6
|
# It inserts a new activity into the second line of the file, allowing
|
5
7
|
# us to test that friends and locations added in an `edit` command are
|
data/test/helper.rb
CHANGED
@@ -24,10 +24,10 @@ require "securerandom"
|
|
24
24
|
|
25
25
|
require "friends"
|
26
26
|
|
27
|
-
CONTENT = <<-FILE
|
27
|
+
CONTENT = <<-FILE
|
28
28
|
### Activities:
|
29
29
|
- 2018-02-06: @science:indoors:agronomy-with-hydroponics: **Norman Borlaug** and **George Washington Carver** scored a tour of _Atlantis_' hydroponics gardens through wetplants@example.org and they took me along.
|
30
|
-
- 2015-11-01: **Grace Hopper** and I went to
|
30
|
+
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
31
31
|
- 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
32
32
|
- 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
|
33
33
|
- 2014-11-15: Talked to **George Washington Carver** on the phone for an hour.
|
@@ -47,15 +47,15 @@ CONTENT = <<-FILE.freeze
|
|
47
47
|
|
48
48
|
### Locations:
|
49
49
|
- Atlantis
|
50
|
-
-
|
50
|
+
- Martha's Vineyard
|
51
51
|
- Paris
|
52
52
|
FILE
|
53
53
|
|
54
54
|
# This is CONTENT but with activities, friends, and locations unsorted.
|
55
|
-
SCRAMBLED_CONTENT = <<-FILE
|
55
|
+
SCRAMBLED_CONTENT = <<-FILE
|
56
56
|
### Activities:
|
57
57
|
- 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
58
|
-
- 2015-11-01: **Grace Hopper** and I went to
|
58
|
+
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
59
59
|
- 2018-02-06: @science:indoors:agronomy-with-hydroponics: **Norman Borlaug** and **George Washington Carver** scored a tour of _Atlantis_' hydroponics gardens through wetplants@example.org and they took me along.
|
60
60
|
- 2014-11-15: Talked to **George Washington Carver** on the phone for an hour.
|
61
61
|
- 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
|
@@ -76,7 +76,7 @@ SCRAMBLED_CONTENT = <<-FILE.freeze
|
|
76
76
|
### Locations:
|
77
77
|
- Paris
|
78
78
|
- Atlantis
|
79
|
-
-
|
79
|
+
- Martha's Vineyard
|
80
80
|
FILE
|
81
81
|
|
82
82
|
# Define these methods so they can be referenced in the methods below. They'll be overridden in
|
@@ -135,7 +135,7 @@ def line_added(expected)
|
|
135
135
|
n_initial_lines = File.read(filename).split("\n").size
|
136
136
|
subject
|
137
137
|
lines = File.read(filename).split("\n")
|
138
|
-
value(lines
|
138
|
+
value(lines).must_include expected # Output includes our line
|
139
139
|
value(lines.size).must_equal(n_initial_lines + 1) # Line was added, not changed.
|
140
140
|
end
|
141
141
|
|
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.
|
4
|
+
version: '0.52'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacob Evelyn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chronic
|
@@ -52,26 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: semverse
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '2'
|
62
|
-
- - "<"
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '4'
|
65
|
-
type: :runtime
|
66
|
-
prerelease: false
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
68
|
-
requirements:
|
69
|
-
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '2'
|
72
|
-
- - "<"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '4'
|
75
55
|
- !ruby/object:Gem::Dependency
|
76
56
|
name: tty-pager
|
77
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +100,14 @@ dependencies:
|
|
120
100
|
requirements:
|
121
101
|
- - "~>"
|
122
102
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
103
|
+
version: '13.0'
|
124
104
|
type: :development
|
125
105
|
prerelease: false
|
126
106
|
version_requirements: !ruby/object:Gem::Requirement
|
127
107
|
requirements:
|
128
108
|
- - "~>"
|
129
109
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
110
|
+
version: '13.0'
|
131
111
|
description: Spend time with the people you care about. Introvert-tested. Extrovert-approved.
|
132
112
|
email:
|
133
113
|
- jacobevelyn@gmail.com
|
@@ -137,6 +117,7 @@ extensions: []
|
|
137
117
|
extra_rdoc_files: []
|
138
118
|
files:
|
139
119
|
- ".github/CONTRIBUTING.md"
|
120
|
+
- ".github/FUNDING.yml"
|
140
121
|
- ".github/ISSUE_TEMPLATE.md"
|
141
122
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
142
123
|
- ".gitignore"
|
@@ -176,6 +157,7 @@ files:
|
|
176
157
|
- lib/friends/note.rb
|
177
158
|
- lib/friends/post_install_message.rb
|
178
159
|
- lib/friends/regex_builder.rb
|
160
|
+
- lib/friends/sem_ver_comparator.rb
|
179
161
|
- lib/friends/serializable.rb
|
180
162
|
- lib/friends/tag_regex.rb
|
181
163
|
- lib/friends/version.rb
|
@@ -223,7 +205,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
223
205
|
requirements:
|
224
206
|
- - ">="
|
225
207
|
- !ruby/object:Gem::Version
|
226
|
-
version: '2.
|
208
|
+
version: '2.3'
|
227
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
228
210
|
requirements:
|
229
211
|
- - ">="
|