friends 0.47 → 0.52
Sign up to get free protection for your applications and to get access to all the features.
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57f457698261d056ca29ea09b153b0917cfebc74dd1c6abf735342d4fa52aa76
|
4
|
+
data.tar.gz: 47435bd44eda4f24f31f61df3cd84a7d4930fa92def6cc68b2b1111f9322a998
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c9500e8446cccad117a7110fb92f8f2871a7793f175e403100eae3455aeff473013c1fe0218481985d8a88b5949274501686187f05c0fac1aa4233b4175c1ad
|
7
|
+
data.tar.gz: 18ed3d0414a30c3d21350c8190bd6b56b7caec077592e8e32952abb6570aa9f3ea26b80d6c54d381aa8f7bdedbb10ec494166e8ed5c347fd1d19f875bcd384cf
|
data/.github/CONTRIBUTING.md
CHANGED
@@ -4,29 +4,44 @@ If you're reading this, it means you want to contribute to this project. Hooray!
|
|
4
4
|
|
5
5
|
Here's what to do:
|
6
6
|
|
7
|
-
1.
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
2.
|
13
|
-
3.
|
14
|
-
4.
|
15
|
-
|
16
|
-
5.
|
17
|
-
|
18
|
-
6.
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
7
|
+
1. If you're looking for a task to work on, check the
|
8
|
+
["up-for-grabs" issues](https://github.com/JacobEvelyn/friends/labels/upforgrabs). If you see something there that catches your
|
9
|
+
eye, leave a comment indicating you'll work on it and
|
10
|
+
it's yours! If you already have something to work on,
|
11
|
+
that's great as well!
|
12
|
+
2. Fork the repository (https://github.com/JacobEvelyn/friends/fork).
|
13
|
+
3. Clone your forked repository.
|
14
|
+
4. From within the repository directory, run
|
15
|
+
`bundle install` to install all dependencies needed for development.
|
16
|
+
5. Create your feature branch
|
17
|
+
(`git checkout -b my-new-feature`).
|
18
|
+
6. Make your changes. Add or modify tests if necessary!
|
19
|
+
- Run tests with `bundle exec rake test`. To run a subset of tests:
|
20
|
+
1. temporarily add this to `friends.gemspec`:
|
21
|
+
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
spec.add_development_dependency "minitest-focus"
|
25
|
+
```
|
26
|
+
2. Re-run `bundle install` to install `minitest-focus`.
|
27
|
+
3. Replace the `it` for the test(s) you want to run with:
|
28
|
+
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
require "minitest/focus" ; focus ; it
|
32
|
+
```
|
33
|
+
4. Run tests as usual with `bundle exec rake test`.
|
34
|
+
5. Don't forget to remove these debugging lines when you're done!
|
35
|
+
- You can run your version of the `friends` script with `bundle exec bin/friends`.
|
36
|
+
- Do your best to conform to existing style and commenting patterns.
|
37
|
+
7. Update the `README.md` as necessary to include your changes.
|
38
|
+
8. Check your changes for code style by running `bundle exec rubocop .` in
|
39
|
+
the repository directory. You may see output indicating that some lines
|
40
|
+
differ from the style guidelines. Change your code so that Rubocop gives
|
41
|
+
no warnings or errors (and don't hesitate to reach out if you don't know how!—this practice is meant to keep the code clean but it shouldn't be
|
42
|
+
scary and it's totally fine to need help!).
|
43
|
+
9. Commit your changes
|
44
|
+
(`git commit -am "Add some feature"`).
|
30
45
|
10. Push your changes to GitHub, and open a pull request.
|
31
46
|
11. Your code will be reviewed and merged as quickly as
|
32
47
|
possible!
|
@@ -45,19 +60,9 @@ If you're a polite, reasonable person you won't have any issues!
|
|
45
60
|
|
46
61
|
## Financial contributions
|
47
62
|
|
48
|
-
`friends` is a volunteer project. If you find it
|
49
|
-
making a small donation (🙏)
|
50
|
-
|
51
|
-
👇 Donate with these buttons! 👇
|
52
|
-
|
53
|
-
[![Backers on Open Collective](<https://opencollective.com/friends/backers_(Open_Collective)/badge.svg>)](https://opencollective.com/friends#backer) [![Sponsors on Open Collective](<https://opencollective.com/friends/sponsors_(Open_Collective)/badge.svg>)](https://opencollective.com/friends#sponsor)
|
54
|
-
[![Support via Patreon](https://img.shields.io/badge/support-Patreon-green.svg)](https://www.patreon.com/jacobevelyn)
|
55
|
-
[![Donate via Liberapay](https://img.shields.io/badge/donate-Liberapay-green.svg)](https://liberapay.com/jacobevelyn/donate)
|
56
|
-
[![Donate via PayPal](https://img.shields.io/badge/donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=jacobevelyn%40gmail%2ecom&lc=US&item_name=Development%20of%20JacobEvelyn%2ffriends%20%28GitHub%20repository%29&no_note=0¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHostedGuest)
|
57
|
-
[![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=jacobevelyn&url=https://github.com/JacobEvelyn/friends&title=friends&tags=github&category=software)
|
58
|
-
[![Donate bitcoin](https://img.shields.io/badge/donate-Bitcoin-green.svg)](https://nrobinson2000.github.io/donate-bitcoin?address=1CFu6gWpmS89EnitPPdYssZhFMRWx5qhW4&amount=10&name=support-friends-development)
|
59
|
-
|
60
|
-
👆 Donate with these buttons! 👆
|
63
|
+
`friends` is a volunteer project. If you find it valuable, please consider
|
64
|
+
making a small donation (🙏) with the **Sponsor** button at the top of this page
|
65
|
+
to show you appreciate its continued development.
|
61
66
|
|
62
67
|
## Contributors
|
63
68
|
|
data/.github/FUNDING.yml
ADDED
data/.github/ISSUE_TEMPLATE.md
CHANGED
@@ -1,6 +1 @@
|
|
1
|
-
<!-- Love friends? Please consider making a small donation (🙏) to show you appreciate its continued development
|
2
|
-
|
3
|
-
👉 https://opencollective.com/friends/donate
|
4
|
-
👉 https://www.patreon.com/jacobevelyn
|
5
|
-
👉 https://liberapay.com/jacobevelyn/donate
|
6
|
-
👉 ...or for more ways to donate (PayPal, Flattr, Bitcoin) see the README. -->
|
1
|
+
<!-- Love friends? Please consider making a small donation (🙏) with the **Sponsor** button at the top of this page to show you appreciate its continued development! 💝 -->
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion: 2.
|
2
|
+
TargetRubyVersion: 2.3
|
3
3
|
|
4
4
|
Gemspec/RequiredRubyVersion:
|
5
5
|
Enabled: false
|
@@ -10,9 +10,18 @@ Layout/ClosingHeredocIndentation:
|
|
10
10
|
Layout/DotPosition:
|
11
11
|
EnforcedStyle: trailing
|
12
12
|
|
13
|
-
Layout/
|
13
|
+
Layout/HeredocIndentation:
|
14
14
|
Enabled: false
|
15
15
|
|
16
|
+
Layout/LineLength:
|
17
|
+
Max: 100
|
18
|
+
|
19
|
+
Lint/RaiseException:
|
20
|
+
Enabled: true
|
21
|
+
|
22
|
+
Lint/StructNewOverride:
|
23
|
+
Enabled: true
|
24
|
+
|
16
25
|
Metrics/AbcSize:
|
17
26
|
Enabled: false
|
18
27
|
|
@@ -28,9 +37,6 @@ Metrics/ClassLength:
|
|
28
37
|
Metrics/CyclomaticComplexity:
|
29
38
|
Enabled: false
|
30
39
|
|
31
|
-
Metrics/LineLength:
|
32
|
-
Max: 100
|
33
|
-
|
34
40
|
Metrics/MethodLength:
|
35
41
|
Enabled: false
|
36
42
|
|
@@ -46,6 +52,15 @@ Naming/AccessorMethodName:
|
|
46
52
|
Style/Documentation:
|
47
53
|
Enabled: false
|
48
54
|
|
55
|
+
Style/HashEachMethods:
|
56
|
+
Enabled: true
|
57
|
+
|
58
|
+
Style/HashTransformKeys:
|
59
|
+
Enabled: true
|
60
|
+
|
61
|
+
Style/HashTransformValues:
|
62
|
+
Enabled: true
|
63
|
+
|
49
64
|
Style/MultilineBlockChain:
|
50
65
|
Enabled: false
|
51
66
|
|
data/.travis.yml
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
language: ruby
|
2
|
+
cache: bundler
|
2
3
|
rvm:
|
3
|
-
- 2.1
|
4
|
-
- 2.2
|
5
4
|
- 2.3
|
6
5
|
- 2.4
|
7
|
-
- 2.5
|
6
|
+
- 2.5
|
7
|
+
- 2.6 # 2.7 is tested below
|
8
8
|
gemfile: Gemfile.old # The latest Ruby version uses Gemfile below
|
9
9
|
script:
|
10
10
|
- bundle exec rake test
|
11
11
|
matrix:
|
12
12
|
include:
|
13
|
-
- rvm: 2.
|
13
|
+
- rvm: 2.7
|
14
14
|
gemfile: Gemfile
|
15
15
|
script:
|
16
16
|
- bundle exec rake test
|
17
|
-
-
|
17
|
+
- bundle exec rubocop
|
18
18
|
env:
|
19
19
|
- CODE_COVERAGE=true
|
20
20
|
branches:
|
data/CHANGELOG.md
CHANGED
@@ -1,18 +1,86 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
`friends` is a volunteer project. If you find it
|
4
|
-
making a small donation (🙏)
|
3
|
+
`friends` is a volunteer project. If you find it valuable, please consider
|
4
|
+
making a small donation (🙏) with the **Sponsor** button at the top of this page to
|
5
|
+
show you appreciate its continued development.
|
5
6
|
|
6
|
-
|
7
|
+
## [v0.52](https://github.com/JacobEvelyn/friends/tree/v0.52) (2020-06-03)
|
7
8
|
|
8
|
-
[
|
9
|
-
[![Support via Patreon](https://img.shields.io/badge/support-Patreon-green.svg)](https://www.patreon.com/jacobevelyn)
|
10
|
-
[![Donate via Liberapay](https://img.shields.io/badge/donate-Liberapay-green.svg)](https://liberapay.com/jacobevelyn/donate)
|
11
|
-
[![Donate via PayPal](https://img.shields.io/badge/donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=jacobevelyn%40gmail%2ecom&lc=US&item_name=Development%20of%20JacobEvelyn%2ffriends%20%28GitHub%20repository%29&no_note=0¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHostedGuest)
|
12
|
-
[![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=jacobevelyn&url=https://github.com/JacobEvelyn/friends&title=friends&tags=github&category=software)
|
13
|
-
[![Donate bitcoin](https://img.shields.io/badge/donate-Bitcoin-green.svg)](https://nrobinson2000.github.io/donate-bitcoin?address=1CFu6gWpmS89EnitPPdYssZhFMRWx5qhW4&amount=10&name=support-friends-development)
|
9
|
+
[Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.51...v0.52)
|
14
10
|
|
15
|
-
|
11
|
+
**Fixed bugs:**
|
12
|
+
|
13
|
+
- undefined method error occurred when "remove tag" is executed with no arguments [\#262](https://github.com/JacobEvelyn/friends/issues/262)
|
14
|
+
|
15
|
+
**Closed issues:**
|
16
|
+
|
17
|
+
- Try using bundler caching in Travis [\#260](https://github.com/JacobEvelyn/friends/issues/260)
|
18
|
+
|
19
|
+
**Merged pull requests:**
|
20
|
+
|
21
|
+
- Use correct RuboCop version in Travis [\#264](https://github.com/JacobEvelyn/friends/pull/264) ([JacobEvelyn](https://github.com/JacobEvelyn))
|
22
|
+
- Fix convert\_to\_tag for the case of str is nil [\#263](https://github.com/JacobEvelyn/friends/pull/263) ([m-t-a-n-a-k-a](https://github.com/m-t-a-n-a-k-a))
|
23
|
+
- Cache bundler directory in Travis [\#261](https://github.com/JacobEvelyn/friends/pull/261) ([JacobEvelyn](https://github.com/JacobEvelyn))
|
24
|
+
- Update rubocop requirement from 0.67 to 0.81.0 [\#259](https://github.com/JacobEvelyn/friends/pull/259) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
|
25
|
+
|
26
|
+
## [v0.51](https://github.com/JacobEvelyn/friends/tree/v0.51) (2020-04-05)
|
27
|
+
|
28
|
+
[Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.50...v0.51)
|
29
|
+
|
30
|
+
**Implemented enhancements:**
|
31
|
+
|
32
|
+
- Drop Semverse dependency [\#256](https://github.com/JacobEvelyn/friends/issues/256)
|
33
|
+
|
34
|
+
**Closed issues:**
|
35
|
+
|
36
|
+
- Drop support for Ruby \<2.3 [\#257](https://github.com/JacobEvelyn/friends/issues/257)
|
37
|
+
|
38
|
+
**Merged pull requests:**
|
39
|
+
|
40
|
+
- Remove Semverse dependency, and require Ruby 2.3+ [\#258](https://github.com/JacobEvelyn/friends/pull/258) ([JacobEvelyn](https://github.com/JacobEvelyn))
|
41
|
+
|
42
|
+
## [v0.50](https://github.com/JacobEvelyn/friends/tree/v0.50) (2020-04-03)
|
43
|
+
|
44
|
+
[Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.49...v0.50)
|
45
|
+
|
46
|
+
**Implemented enhancements:**
|
47
|
+
|
48
|
+
- Add support for Ruby 2.7 [\#254](https://github.com/JacobEvelyn/friends/issues/254)
|
49
|
+
|
50
|
+
**Merged pull requests:**
|
51
|
+
|
52
|
+
- Add Travis tests for Ruby 2.7 [\#255](https://github.com/JacobEvelyn/friends/pull/255) ([JacobEvelyn](https://github.com/JacobEvelyn))
|
53
|
+
|
54
|
+
## [v0.49](https://github.com/JacobEvelyn/friends/tree/v0.49) (2020-04-02)
|
55
|
+
|
56
|
+
[Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.48...v0.49)
|
57
|
+
|
58
|
+
**Fixed bugs:**
|
59
|
+
|
60
|
+
- Multi-word editors no longer work with `friends edit` [\#251](https://github.com/JacobEvelyn/friends/issues/251)
|
61
|
+
- Punctuation swallowed after friend name with last initial [\#235](https://github.com/JacobEvelyn/friends/issues/235)
|
62
|
+
|
63
|
+
**Merged pull requests:**
|
64
|
+
|
65
|
+
- Improve name matching to not swallow punctuation [\#253](https://github.com/JacobEvelyn/friends/pull/253) ([JacobEvelyn](https://github.com/JacobEvelyn))
|
66
|
+
- Fix `friends edit` for multi-word EDITORs [\#252](https://github.com/JacobEvelyn/friends/pull/252) ([JacobEvelyn](https://github.com/JacobEvelyn))
|
67
|
+
|
68
|
+
## [v0.48](https://github.com/JacobEvelyn/friends/tree/v0.48) (2020-03-27)
|
69
|
+
|
70
|
+
[Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.47...v0.48)
|
71
|
+
|
72
|
+
**Implemented enhancements:**
|
73
|
+
|
74
|
+
- Change trigger for implicit location from `moved to \_LOCATION\_` to `to \_LOCATION\_` [\#245](https://github.com/JacobEvelyn/friends/pull/245) ([shen-sat](https://github.com/shen-sat))
|
75
|
+
|
76
|
+
**Closed issues:**
|
77
|
+
|
78
|
+
- Fix minitest deprecation warnings [\#249](https://github.com/JacobEvelyn/friends/issues/249)
|
79
|
+
|
80
|
+
**Merged pull requests:**
|
81
|
+
|
82
|
+
- Fix minitest deprecation warnings [\#250](https://github.com/JacobEvelyn/friends/pull/250) ([JacobEvelyn](https://github.com/JacobEvelyn))
|
83
|
+
- Bump simplecov from cb968abf857a704364283b5dec4d9fa3d096287e to 0.18.0 [\#248](https://github.com/JacobEvelyn/friends/pull/248) ([dependabot-preview[bot]](https://github.com/apps/dependabot-preview))
|
16
84
|
|
17
85
|
## [v0.47](https://github.com/JacobEvelyn/friends/tree/v0.47) (2019-12-11)
|
18
86
|
|
data/Gemfile
CHANGED
@@ -5,12 +5,10 @@ source "https://rubygems.org"
|
|
5
5
|
gemspec
|
6
6
|
|
7
7
|
group :development, :test do
|
8
|
-
gem "rubocop", "0.
|
8
|
+
gem "rubocop", "0.81.0"
|
9
9
|
end
|
10
10
|
|
11
11
|
group :test do
|
12
12
|
gem "codecov", "~> 0.1.14"
|
13
|
-
gem "simplecov"
|
14
|
-
git: "https://github.com/colszowka/simplecov",
|
15
|
-
ref: "cb968abf857a704364283b5dec4d9fa3d096287e"
|
13
|
+
gem "simplecov"
|
16
14
|
end
|
data/README.md
CHANGED
@@ -5,19 +5,9 @@
|
|
5
5
|
[![Inline docs](http://inch-ci.org/github/JacobEvelyn/friends.png)](http://inch-ci.org/github/JacobEvelyn/friends)
|
6
6
|
[![Gem](https://img.shields.io/gem/dt/friends.svg)](https://rubygems.org/gems/friends)
|
7
7
|
|
8
|
-
`friends` is a volunteer project. If you find it
|
9
|
-
making a small donation (🙏)
|
10
|
-
|
11
|
-
👇 Donate with these buttons! 👇
|
12
|
-
|
13
|
-
[![Backers on Open Collective](<https://opencollective.com/friends/backers_(Open_Collective)/badge.svg>)](#backers) [![Sponsors on Open Collective](<https://opencollective.com/friends/sponsors_(Open_Collective)/badge.svg>)](#sponsors)
|
14
|
-
[![Support via Patreon](https://img.shields.io/badge/support-Patreon-green.svg)](https://www.patreon.com/jacobevelyn)
|
15
|
-
[![Donate via Liberapay](https://img.shields.io/badge/donate-Liberapay-green.svg)](https://liberapay.com/jacobevelyn/donate)
|
16
|
-
[![Donate via PayPal](https://img.shields.io/badge/donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=jacobevelyn%40gmail%2ecom&lc=US&item_name=Development%20of%20JacobEvelyn%2ffriends%20%28GitHub%20repository%29&no_note=0¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHostedGuest)
|
17
|
-
[![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=jacobevelyn&url=https://github.com/JacobEvelyn/friends&title=friends&tags=github&category=software)
|
18
|
-
[![Donate bitcoin](https://img.shields.io/badge/donate-Bitcoin-green.svg)](https://nrobinson2000.github.io/donate-bitcoin?address=1CFu6gWpmS89EnitPPdYssZhFMRWx5qhW4&amount=10&name=support-friends-development)
|
19
|
-
|
20
|
-
👆 Donate with these buttons! 👆
|
8
|
+
`friends` is a volunteer project. If you find it valuable, please consider
|
9
|
+
making a small donation (🙏) with the **Sponsor** button at the top of this page
|
10
|
+
to show you appreciate its continued development.
|
21
11
|
|
22
12
|
# `friends`
|
23
13
|
|
@@ -47,6 +37,7 @@ lots of help), and give feedback! This project is
|
|
47
37
|
- [`add tag`](#add-tag)
|
48
38
|
- [`add location`](#add-location)
|
49
39
|
- [`add nickname`](#add-nickname)
|
40
|
+
- [Adding a default location](#adding-a-default-location)
|
50
41
|
- [`clean`](#clean)
|
51
42
|
- [`graph`](#graph)
|
52
43
|
- [`help`](#help)
|
@@ -141,7 +132,7 @@ FRIENDS_PAGER="less -RF"
|
|
141
132
|
- **Friends**: The people you do _activities_ with. Each friend has a name and,
|
142
133
|
optionally, one or several nicknames. (Examples: `John`, `Grace Hopper`)
|
143
134
|
- **Locations**: The places in which _activities_ happen. (Examples: `Paris`,
|
144
|
-
`
|
135
|
+
`Martha's Vineyard`)
|
145
136
|
- **Tags**: A way to categorize your _activities_ with tags of your
|
146
137
|
choosing. Tags may contain colons and hyphens inside them. (Examples: `@exercise:running`, `@school`, `@science:indoors:agronomy-with-hydroponics`)
|
147
138
|
- **Notes**: Any additional information you want to record about a _friend_
|
@@ -155,7 +146,7 @@ The `friends.md` Markdown file that stores all of your data contains:
|
|
155
146
|
### Locations:
|
156
147
|
|
157
148
|
- Atlantis
|
158
|
-
-
|
149
|
+
- Martha's Vineyard
|
159
150
|
- Paris
|
160
151
|
```
|
161
152
|
|
@@ -174,7 +165,7 @@ The `friends.md` Markdown file that stores all of your data contains:
|
|
174
165
|
```markdown
|
175
166
|
### Activities:
|
176
167
|
|
177
|
-
- 2018-11-01: **Grace Hopper** and I went to
|
168
|
+
- 2018-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
178
169
|
- 2018-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**.
|
179
170
|
- 2017-12-31: Celebrated the new year in _Paris_ with **Marie Curie**.
|
180
171
|
- 2017-11-15: Talked to **George Washington Carver** on the phone for an hour.
|
@@ -339,8 +330,8 @@ $ friends add activity last Monday
|
|
339
330
|
You can escape the names of friends you don't want `friends` to match with a backslash:
|
340
331
|
|
341
332
|
```bash
|
342
|
-
$ friends add activity "2018-11-01: Grace and I went to \
|
343
|
-
Activity added: "2018-11-01: Grace Hopper and I went to
|
333
|
+
$ friends add activity "2018-11-01: Grace and I went to \Martha's Vineyard. \George had to cancel at the last minute."
|
334
|
+
Activity added: "2018-11-01: Grace Hopper and I went to Martha's Vineyard. George had to cancel at the last minute."
|
344
335
|
```
|
345
336
|
|
346
337
|
And if an activity contains friends or locations you haven't yet added, you can simply
|
@@ -420,6 +411,27 @@ $ friends add nickname "Grace Hopper" "Amazing Grace"
|
|
420
411
|
Nickname added: "Grace Hopper (a.k.a. The Admiral a.k.a. Amazing Grace)"
|
421
412
|
```
|
422
413
|
|
414
|
+
#### Setting a default location
|
415
|
+
|
416
|
+
When an activity includes the phrase to \_LOCATION\_ (e.g., Took a plane to \_Paris\_), all future activities that have no explicit location will be associated with that location:
|
417
|
+
|
418
|
+
```bash
|
419
|
+
$ friends add activity Took a plane to Paris
|
420
|
+
Activity added: "2020-01-04: Took a plane to Paris"
|
421
|
+
Default location set to: "Paris"
|
422
|
+
$ friends add activity Ate lunch at a charming café
|
423
|
+
Activity added: "2020-01-04: Ate lunch at a charming café"
|
424
|
+
$ friends add activity Left the city to go to Chamonix
|
425
|
+
Activity added: "2020-01-04: Left the city to go to Chamonix"
|
426
|
+
Default location set to: "Chamonix"
|
427
|
+
```
|
428
|
+
|
429
|
+
```bash
|
430
|
+
$ friends list activities --in Paris
|
431
|
+
2019-01-04: Ate lunch at a charming café
|
432
|
+
2019-01-04: Took a plane to Paris
|
433
|
+
```
|
434
|
+
|
423
435
|
#### `clean`
|
424
436
|
|
425
437
|
Reads and re-writes the `friends.md` file:
|
@@ -951,16 +963,7 @@ A big big thanks to all of this project's lovely
|
|
951
963
|
|
952
964
|
<a href="https://github.com/JacobEvelyn/friends/graphs/contributors"><img src="https://opencollective.com/friends/contributors.svg?width=890" /></a>
|
953
965
|
|
954
|
-
Another way to contribute is to make a donation with
|
955
|
-
|
956
|
-
[![Backers on Open Collective](<https://opencollective.com/friends/backers_(Open_Collective)/badge.svg>)](https://opencollective.com/friends#backer) [![Sponsors on Open Collective](<https://opencollective.com/friends/sponsors_(Open_Collective)/badge.svg>)](https://opencollective.com/friends#sponsor)
|
957
|
-
[![Support via Patreon](https://img.shields.io/badge/support-Patreon-green.svg)](https://www.patreon.com/jacobevelyn)
|
958
|
-
[![Donate via Liberapay](https://img.shields.io/badge/donate-Liberapay-green.svg)](https://liberapay.com/jacobevelyn/donate)
|
959
|
-
[![Donate via PayPal](https://img.shields.io/badge/donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=jacobevelyn%40gmail%2ecom&lc=US&item_name=Development%20of%20JacobEvelyn%2ffriends%20%28GitHub%20repository%29&no_note=0¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHostedGuest)
|
960
|
-
[![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=jacobevelyn&url=https://github.com/JacobEvelyn/friends&title=friends&tags=github&category=software)
|
961
|
-
[![Donate bitcoin](https://img.shields.io/badge/donate-Bitcoin-green.svg)](https://nrobinson2000.github.io/donate-bitcoin?address=1CFu6gWpmS89EnitPPdYssZhFMRWx5qhW4&amount=10&name=support-friends-development)
|
962
|
-
|
963
|
-
👆 Donate with these buttons right here! 👆
|
966
|
+
Another way to contribute is to make a donation with the **Sponsor** button at the top of this page!
|
964
967
|
|
965
968
|
### Backers
|
966
969
|
|
data/RELEASING.md
CHANGED
@@ -8,7 +8,7 @@ These are steps for the maintainer to take to release a new version of this gem.
|
|
8
8
|
3. Add a tag (`git tag -am "vX.X" vX.X`).
|
9
9
|
4. `git push && git push --tags`
|
10
10
|
5. Copy the top of `CHANGELOG` to the clipboard.
|
11
|
-
6. `CHANGELOG_GITHUB_TOKEN=... github_changelog_generator`
|
11
|
+
6. `CHANGELOG_GITHUB_TOKEN=... github_changelog_generator --user JacobEvelyn --project friends`
|
12
12
|
7. Paste from the clipboard to the top of the `CHANGELOG`.
|
13
13
|
8. Confirm the `CHANGELOG` looks correct with `git diff`
|
14
14
|
9. `git add -A && git commit -m 'Update CHANGELOG for vX.X'`
|
data/bin/friends
CHANGED
@@ -12,7 +12,6 @@ end
|
|
12
12
|
require "gli"
|
13
13
|
require "paint"
|
14
14
|
require "readline"
|
15
|
-
require "semverse"
|
16
15
|
|
17
16
|
require "friends/introvert"
|
18
17
|
require "friends/version"
|
@@ -35,7 +34,7 @@ class Tag
|
|
35
34
|
# conversions for arguments.
|
36
35
|
# See: https://github.com/davetron5000/gli/issues/241
|
37
36
|
def self.convert_to_tag(str)
|
38
|
-
str = str.strip
|
37
|
+
str = str.to_s.strip
|
39
38
|
!str.empty? && str[0] == "@" ? str : "@#{str}"
|
40
39
|
end
|
41
40
|
end
|
@@ -48,10 +47,7 @@ class Stripped; end
|
|
48
47
|
accept(Stripped, &:strip)
|
49
48
|
|
50
49
|
class InputDate; end
|
51
|
-
accept(InputDate)
|
52
|
-
time = Chronic.parse(value)
|
53
|
-
time && time.to_date
|
54
|
-
end
|
50
|
+
accept(InputDate) { |value| Chronic.parse(value)&.to_date }
|
55
51
|
|
56
52
|
switch [:quiet],
|
57
53
|
negatable: false,
|
@@ -102,7 +98,7 @@ post do
|
|
102
98
|
rescue Errno::ENOENT
|
103
99
|
# If the pager is not installed, just print the output.
|
104
100
|
puts @introvert.output
|
105
|
-
rescue Errno::EPIPE
|
101
|
+
rescue Errno::EPIPE
|
106
102
|
# Occurs when quitting the pager.
|
107
103
|
end
|
108
104
|
end
|