friends 0.36 → 0.37

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: 7c26333d51f189dc3c73e8619857ef1d18ebb85f
4
- data.tar.gz: 1444055713076b43e7cc0cb20b9da27af110a1f4
3
+ metadata.gz: 149a16ce90d50f7fc56732aab02d9c27c3304cf3
4
+ data.tar.gz: 3c45801a69f2ba00a13d2e08cdb1c25e3425eba7
5
5
  SHA512:
6
- metadata.gz: ace38cd9bb2fa074acc3f320626f90720b9e21cadc424704f042621e662ffe785875189c0d5dd08632b7c6446bb3f8789a91697a00c0539a98a7a0e56b6fc5be
7
- data.tar.gz: 6910fb55ba8ab0de491e7c083c2f70674fe4df76194a6f8b3cbfc77987ab1b935776f09ef61b26b29aa1cb5e0828f21a4ba2b0144cd3f6ff92ce14562eb04e44
6
+ metadata.gz: 2de1ef2a453e3a2a0e757888abe17824ea80b7212002f0cdc9240c4ecbef4c2f5e4e564ed923af6c10425206b2920975f5344c0b247a3974c0da33b608e0b780
7
+ data.tar.gz: 768405774cdf4c0561f16ccf57e3611b37b5397f1e1ca195dd9837a8d001422eab17ef7ced9da59c6968becd12413f56f0b6e28ffea263f30bed36989ce33854
@@ -0,0 +1,66 @@
1
+ # Contributing
2
+
3
+ If you're reading this, it means you want to contribute to this project. Hooray!
4
+
5
+ Here's what to do:
6
+
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 `rake test`.) Do your best to conform to
20
+ existing style and commenting patterns. You can run the local version of the
21
+ `friends` script with `bundle exec bin/friends`.
22
+ 7. Update the `README.md` as necessary to include your changes.
23
+ 8. Check your changes for code style by running `bundle exec rubocop .` in
24
+ the repository directory. You may see output indicating that some lines
25
+ differ from the style guidelines. Change your code so that Rubocop gives
26
+ 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
27
+ scary and it's totally fine to need help!).
28
+ 9. Commit your changes
29
+ (`git commit -am "Add some feature"`).
30
+ 10. Push your changes to GitHub, and open a pull request.
31
+ 11. Your code will be reviewed and merged as quickly as
32
+ possible!
33
+ 12. Check yourself out on the [contributors page](https://github.com/JacobEvelyn/friends/graphs/contributors)! Look at how cool you are!
34
+
35
+ If you have any questions at all or get stuck on any step,
36
+ don't hesitate to
37
+ [open a GitHub issue](https://github.com/JacobEvelyn/friends/issues/new)!
38
+ I'll respond as quickly as I can, and I'm friendly! I
39
+ promise I don't bite. 😊
40
+
41
+ ## Code of Conduct
42
+
43
+ Note that this project follows a [Code of Conduct](https://github.com/JacobEvelyn/friends/blob/master/CODE_OF_CONDUCT.md).
44
+ If you're a polite, reasonable person you won't have any issues!
45
+
46
+ ## Financial contributions
47
+
48
+ `friends` is a volunteer project. If you find it useful, please consider
49
+ making a small donation (🙏) to show you appreciate its continued development.
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! 👆
61
+
62
+ ## Contributors
63
+
64
+ Thank you to all the lovely people who have already contributed to `friends`!
65
+ You folks make `friends` great.
66
+ <a href="graphs/contributors"><img src="https://opencollective.com/friends/contributors.svg?width=890" /></a>
@@ -0,0 +1,6 @@
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,15 +1,32 @@
1
1
  # Change Log
2
2
 
3
3
  `friends` is a volunteer project. If you find it useful, please consider
4
- making a small donation to show me you appreciate its continued development.
4
+ making a small donation (🙏) to show you appreciate its continued development.
5
5
 
6
- [![Donate via OpenCollective](https://opencollective.com/friends/contributors/badge.svg)](https://opencollective.com/friends)
6
+ 👇 Donate with these buttons! 👇
7
+
8
+ [![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)
7
9
  [![Support via Patreon](https://img.shields.io/badge/support-Patreon-green.svg)](https://www.patreon.com/jacobevelyn)
8
10
  [![Donate via Liberapay](https://img.shields.io/badge/donate-Liberapay-green.svg)](https://liberapay.com/jacobevelyn/donate)
9
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)
10
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)
11
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)
12
14
 
15
+ 👆 Donate with these buttons! 👆
16
+
17
+
18
+ ## [v0.37](https://github.com/JacobEvelyn/friends/tree/v0.37) (2018-02-24)
19
+ [Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.36...v0.37)
20
+
21
+ **Implemented enhancements:**
22
+
23
+ - Allow \(some\) punctuation in tags [\#186](https://github.com/JacobEvelyn/friends/issues/186)
24
+
25
+ **Merged pull requests:**
26
+
27
+ - Activating Open Collective [\#193](https://github.com/JacobEvelyn/friends/pull/193) ([monkeywithacupcake](https://github.com/monkeywithacupcake))
28
+ - Dashes and colons [\#191](https://github.com/JacobEvelyn/friends/pull/191) ([adiabatic](https://github.com/adiabatic))
29
+
13
30
  ## [v0.36](https://github.com/JacobEvelyn/friends/tree/v0.36) (2018-01-17)
14
31
  [Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.35...v0.36)
15
32
 
@@ -533,4 +550,4 @@ making a small donation to show me you appreciate its continued development.
533
550
  ## [v0.0.1](https://github.com/JacobEvelyn/friends/tree/v0.0.1) (2014-12-11)
534
551
 
535
552
 
536
- \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
553
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
data/README.md CHANGED
@@ -7,22 +7,26 @@
7
7
  [![Gem](https://img.shields.io/gem/dt/friends.svg)](https://rubygems.org/gems/friends)
8
8
 
9
9
  `friends` is a volunteer project. If you find it useful, please consider
10
- making a small donation to show me you appreciate its continued development.
10
+ making a small donation (🙏) to show you appreciate its continued development.
11
11
 
12
- [![Donate via OpenCollective](https://opencollective.com/friends/contributors/badge.svg)](https://opencollective.com/friends)
12
+ 👇 Donate with these buttons! 👇
13
+
14
+ [![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)
13
15
  [![Support via Patreon](https://img.shields.io/badge/support-Patreon-green.svg)](https://www.patreon.com/jacobevelyn)
14
16
  [![Donate via Liberapay](https://img.shields.io/badge/donate-Liberapay-green.svg)](https://liberapay.com/jacobevelyn/donate)
15
17
  [![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)
16
18
  [![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)
17
19
  [![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)
18
20
 
21
+ 👆 Donate with these buttons! 👆
22
+
19
23
  # `friends`
20
24
 
21
25
  Spend time with the people you care about. Introvert-tested.
22
26
  Extrovert-approved.
23
27
 
24
- **NOTE: Participation is encouraged! Make Issues, ask questions, submit Pull
25
- Requests (even if it's your first time contributing to open-source—you'll get
28
+ **NOTE: Participation is encouraged! Make issues, ask questions, submit pull
29
+ requests (even if it's your first time contributing to open-source—you'll get
26
30
  lots of help), and give feedback!**
27
31
 
28
32
  ## Table of Contents
@@ -118,7 +122,7 @@ Easy, huh?
118
122
  * **Locations**: The places in which _activities_ happen. (Examples: `Paris`,
119
123
  `Marie's Diner`)
120
124
  * **Tags**: A way to categorize your _activities_ with tags of your
121
- choosing. (Examples: `@exercise`, `@school`)
125
+ choosing. Tags may contain colons and hyphens inside them. (Examples: `@exercise:running`, `@school`, `@science:indoors:agronomy-with-hydroponics`)
122
126
  * **Notes**: Any additional information you want to record about a _friend_
123
127
  or _location_. (Example: `John and Jane got engaged.`)
124
128
 
@@ -282,8 +286,8 @@ Tags will be colored if they're provided (though this README can't display
282
286
  color so you'll just have to have faith here):
283
287
 
284
288
  ```bash
285
- $ friends add activity The office softball team wins a game! @work @exercise
286
- Activity added: "2017-05-05: The office softball team wins a game! @work @exercise"
289
+ $ friends add activity The office softball team wins a game! @work @exercise:sports
290
+ Activity added: "2017-05-05: The office softball team wins a game! @work @exercise:sports"
287
291
  ```
288
292
 
289
293
  You can of course specify a date for the activity:
@@ -575,7 +579,7 @@ Lists recent activities:
575
579
  ```bash
576
580
  $ friends list activities
577
581
  2018-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
578
- 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying
582
+ 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying:ball-drop
579
583
  2017-11-15: Talked to George Washington Carver on the phone for an hour.
580
584
  ```
581
585
 
@@ -584,7 +588,7 @@ You can adjust how many activities are shown:
584
588
  ```bash
585
589
  $ friends list activities --limit 2
586
590
  2018-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
587
- 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying
591
+ 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying:ball-drop
588
592
  ```
589
593
 
590
594
  Or only list the activities you did with a certain friend:
@@ -606,7 +610,7 @@ Or filter your activities by location:
606
610
 
607
611
  ```bash
608
612
  $ friends list activities --in "New York"
609
- 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying
613
+ 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying:ball-drop
610
614
  ```
611
615
 
612
616
  Or by tag:
@@ -628,12 +632,12 @@ Or by date:
628
632
  ```bash
629
633
  $ friends list activities --since 'December 31st 2017'
630
634
  2018-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
631
- 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying
635
+ 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying:ball-drop
632
636
  ```
633
637
 
634
638
  ```bash
635
639
  $ friends list activities --until 'December 31st 2017'
636
- 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying
640
+ 2017-12-31: Celebrated the new year with Marie Curie in New York City. @partying:ball-drop
637
641
  2017-11-15: Talked to George Washington Carver on the phone for an hour.
638
642
  ```
639
643
 
@@ -927,16 +931,47 @@ In case you're _really_ interested, we have documentation on
927
931
  ## Contributing (it's encouraged!)
928
932
 
929
933
  If you have an idea,
930
- [make a GitHub Issue](https://github.com/JacobEvelyn/friends/issues/new)!
934
+ [make a GitHub issue](https://github.com/JacobEvelyn/friends/issues/new)!
931
935
  Suggestions are very very welcome, and usually are implemented very
932
936
  quickly. And if you'd like to do the implementing yourself, see the
933
937
  [contributing guide](https://github.com/JacobEvelyn/friends/blob/master/CONTRIBUTING.md).
934
938
 
935
939
  A big big thanks to all of this project's lovely
936
- [contributors](https://github.com/JacobEvelyn/friends/graphs/contributors)!
940
+ [contributors](https://github.com/JacobEvelyn/friends/graphs/contributors):
941
+
942
+ <a href="https://github.com/JacobEvelyn/friends/graphs/contributors"><img src="https://opencollective.com/friends/contributors.svg?width=890" /></a>
943
+
944
+ Another way to contribute is to make a donation with any of these buttons:
945
+
946
+ [![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)
947
+ [![Support via Patreon](https://img.shields.io/badge/support-Patreon-green.svg)](https://www.patreon.com/jacobevelyn)
948
+ [![Donate via Liberapay](https://img.shields.io/badge/donate-Liberapay-green.svg)](https://liberapay.com/jacobevelyn/donate)
949
+ [![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)
950
+ [![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)
951
+ [![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)
952
+
953
+ 👆 Donate with these buttons right here! 👆
954
+
955
+ ### Backers
956
+
957
+ Thank you to all backers! 🙏 [[Become a backer](https://opencollective.com/friends#backer)]
958
+
959
+ <a href="https://opencollective.com/friends#backers" target="_blank"><img src="https://opencollective.com/friends/backers.svg?width=890"></a>
960
+
961
+ ### Sponsors
962
+
963
+ Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/friends#sponsor)]
937
964
 
938
- Another way to contribute is to make a donation (see the buttons at the top
939
- of this `README`)!
965
+ <a href="https://opencollective.com/friends/sponsor/0/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/0/avatar.svg"></a>
966
+ <a href="https://opencollective.com/friends/sponsor/1/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/1/avatar.svg"></a>
967
+ <a href="https://opencollective.com/friends/sponsor/2/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/2/avatar.svg"></a>
968
+ <a href="https://opencollective.com/friends/sponsor/3/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/3/avatar.svg"></a>
969
+ <a href="https://opencollective.com/friends/sponsor/4/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/4/avatar.svg"></a>
970
+ <a href="https://opencollective.com/friends/sponsor/5/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/5/avatar.svg"></a>
971
+ <a href="https://opencollective.com/friends/sponsor/6/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/6/avatar.svg"></a>
972
+ <a href="https://opencollective.com/friends/sponsor/7/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/7/avatar.svg"></a>
973
+ <a href="https://opencollective.com/friends/sponsor/8/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/8/avatar.svg"></a>
974
+ <a href="https://opencollective.com/friends/sponsor/9/website" target="_blank"><img src="https://opencollective.com/friends/sponsor/9/avatar.svg"></a>
940
975
 
941
976
  ## Code of Conduct
942
977
 
@@ -3,5 +3,5 @@
3
3
  require "friends/version"
4
4
 
5
5
  module Friends
6
- TAG_REGEX = /@\p{Alnum}+/
6
+ TAG_REGEX = /(?<!\p{Alnum})@\p{Alnum}(?:[:-]?\p{Alnum})*/
7
7
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Friends
4
- VERSION = "0.36".freeze
4
+ VERSION = "0.37".freeze
5
5
  end
@@ -29,35 +29,42 @@ clean_describe "add tag" do
29
29
 
30
30
  describe "when friend name has one match" do
31
31
  let(:friend_name) { "George" }
32
- let(:tag) { "school" }
32
+ let(:tag) { "school:tuskegee-institute" }
33
33
 
34
34
  it "adds tag to friend" do
35
- line_changed "- George Washington Carver", "- George Washington Carver @school"
35
+ line_changed(
36
+ "- George Washington Carver",
37
+ "- George Washington Carver @school:tuskegee-institute"
38
+ )
36
39
  end
37
40
 
38
41
  it "prints an output message" do
39
- stdout_only 'Tag added to friend: "George Washington Carver @school"'
42
+ stdout_only 'Tag added to friend: "George Washington Carver @school:tuskegee-institute"'
40
43
  end
41
44
 
42
45
  describe "when tag is passed with @" do
43
- let(:tag) { "@school" }
46
+ let(:tag) { "@school:tuskegee-institute" }
44
47
 
45
48
  it "adds tag to friend" do
46
- line_changed "- George Washington Carver", "- George Washington Carver @school"
49
+ line_changed(
50
+ "- George Washington Carver",
51
+ "- George Washington Carver @school:tuskegee-institute"
52
+ )
47
53
  end
48
54
 
49
55
  it "prints an output message" do
50
- stdout_only 'Tag added to friend: "George Washington Carver @school"'
56
+ stdout_only 'Tag added to friend: "George Washington Carver @school:tuskegee-institute"'
51
57
  end
52
58
  end
53
59
 
54
60
  describe "when friend already has tags" do
55
61
  let(:friend_name) { "Marie" }
62
+ let(:tag) { "school:ecole-normale-superieure" }
56
63
 
57
64
  it "allows for multiple tags" do
58
65
  line_changed(
59
66
  "- Marie Curie [Atlantis] @science",
60
- "- Marie Curie [Atlantis] @science @school"
67
+ "- Marie Curie [Atlantis] @science @school:ecole-normale-superieure"
61
68
  )
62
69
  end
63
70
  end
@@ -77,6 +77,7 @@ Not cleaning file: "#{filename}" ("exit 1 #" did not exit successfully)
77
77
  let(:cleaned_edited_content) do
78
78
  <<-EXPECTED_CONTENT
79
79
  ### Activities:
80
+ - 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.
80
81
  - 2015-11-01: **Grace Hopper** and I went to _Marie's Diner_. George had to cancel at the last minute. @food
81
82
  - 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
82
83
  - 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
@@ -94,6 +95,8 @@ Not cleaning file: "#{filename}" ("exit 1 #" did not exit successfully)
94
95
  - George Washington Carver
95
96
  - Grace Hopper (a.k.a. The Admiral a.k.a. Amazing Grace) [Paris] @navy @science
96
97
  - Marie Curie [Atlantis] @science
98
+ - Norman Borlaug (a.k.a. Norm) @science @science:outdoors @science:outdoors:agronomy
99
+ - Stanislav Petrov (a.k.a. Stan) @doesnt-trust-computers @doesnt-trust-computers:military-uses
97
100
 
98
101
  ### Locations:
99
102
  - Atlantis
@@ -30,6 +30,7 @@ clean_describe "list activities" do
30
30
  stdout_only <<-OUTPUT
31
31
  2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
32
32
  2015-11-01: Grace Hopper and I went to Marie's Diner. George had to cancel at the last minute. @food
33
+ 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.
33
34
  2014-11-15: Talked to George Washington Carver on the phone for an hour.
34
35
  2014-12-31: Celebrated the new year in Paris with Marie Curie. @partying
35
36
  OUTPUT
@@ -155,6 +156,7 @@ FILE
155
156
  stdout_only <<-OUTPUT
156
157
  2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
157
158
  2015-11-01: Grace Hopper and I went to Marie's Diner. George had to cancel at the last minute. @food
159
+ 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.
158
160
  OUTPUT
159
161
  end
160
162
  end
@@ -31,6 +31,8 @@ clean_describe "list friends" do
31
31
  George Washington Carver
32
32
  Marie Curie
33
33
  Grace Hopper
34
+ Stanislav Petrov
35
+ Norman Borlaug
34
36
  OUTPUT
35
37
  end
36
38
 
@@ -42,6 +44,8 @@ Grace Hopper
42
44
  George Washington Carver
43
45
  Marie Curie [Atlantis] @science
44
46
  Grace Hopper (a.k.a. The Admiral a.k.a. Amazing Grace) [Paris] @navy @science
47
+ Stanislav Petrov (a.k.a. Stan) @doesnt-trust-computers @doesnt-trust-computers:military-uses
48
+ Norman Borlaug (a.k.a. Norm) @science @science:outdoors @science:outdoors:agronomy
45
49
  OUTPUT
46
50
  end
47
51
  end
@@ -71,6 +75,7 @@ Grace Hopper (a.k.a. The Admiral a.k.a. Amazing Grace) [Paris] @navy @science
71
75
  stdout_only <<-OUTPUT
72
76
  Marie Curie
73
77
  Grace Hopper
78
+ Norman Borlaug
74
79
  OUTPUT
75
80
  end
76
81
 
@@ -98,6 +103,16 @@ Neil Armstrong
98
103
  OUTPUT
99
104
  end
100
105
  end
106
+
107
+ describe "when a tag is passed with colons and dashes" do
108
+ subject { run_cmd("list friends --tagged doesnt-trust-computers:military-uses") }
109
+
110
+ it "matches tag" do
111
+ stdout_only <<-OUTPUT
112
+ Stanislav Petrov
113
+ OUTPUT
114
+ end
115
+ end
101
116
  end
102
117
  end
103
118
  end
@@ -28,11 +28,16 @@ clean_describe "list tags" do
28
28
 
29
29
  it "lists unique tags" do
30
30
  stdout_only <<-OUTPUT
31
+ @doesnt-trust-computers
32
+ @doesnt-trust-computers:military-uses
31
33
  @food
32
34
  @navy
33
35
  @partying
34
36
  @school
35
37
  @science
38
+ @science:indoors:agronomy-with-hydroponics
39
+ @science:outdoors
40
+ @science:outdoors:agronomy
36
41
  OUTPUT
37
42
  end
38
43
 
@@ -43,6 +48,7 @@ clean_describe "list tags" do
43
48
  stdout_only <<-OUTPUT
44
49
  @food
45
50
  @partying
51
+ @science:indoors:agronomy-with-hydroponics
46
52
  OUTPUT
47
53
  end
48
54
  end
@@ -63,8 +69,12 @@ clean_describe "list tags" do
63
69
 
64
70
  it "lists unique tags from friends" do
65
71
  stdout_only <<-OUTPUT
72
+ @doesnt-trust-computers
73
+ @doesnt-trust-computers:military-uses
66
74
  @navy
67
75
  @science
76
+ @science:outdoors
77
+ @science:outdoors:agronomy
68
78
  OUTPUT
69
79
  end
70
80
  end
@@ -74,9 +84,13 @@ clean_describe "list tags" do
74
84
 
75
85
  it "lists unique tags from friends and notes" do
76
86
  stdout_only <<-OUTPUT
87
+ @doesnt-trust-computers
88
+ @doesnt-trust-computers:military-uses
77
89
  @navy
78
90
  @school
79
91
  @science
92
+ @science:outdoors
93
+ @science:outdoors:agronomy
80
94
  OUTPUT
81
95
  end
82
96
  end
@@ -41,13 +41,24 @@ clean_describe "remove tag" do
41
41
  let(:tag) { "science" }
42
42
 
43
43
  it "removes tag from friend" do
44
- line_changed "- Marie Curie [Atlantis] @science", "- Marie Curie [Atlantis]"
44
+ line_changed "- Marie Curie [Atlantis] @science",
45
+ "- Marie Curie [Atlantis]"
45
46
  end
46
47
 
47
48
  it "prints an output message" do
48
49
  stdout_only 'Tag removed from friend: "Marie Curie [Atlantis]"'
49
50
  end
50
51
 
52
+ describe "when tag has colons and dashes" do
53
+ let(:friend_name) { "Stanislav Petrov" }
54
+ let(:tag) { "doesnt-trust-computers:military-uses" }
55
+
56
+ it "removes tag from friend" do
57
+ stdout_only 'Tag removed from friend: "Stanislav Petrov (a.k.a. Stan) '\
58
+ '@doesnt-trust-computers"'
59
+ end
60
+ end
61
+
51
62
  describe "when tag is passed with @" do
52
63
  let(:tag) { "@science" }
53
64
 
@@ -34,6 +34,7 @@ clean_describe "rename friend" do
34
34
 
35
35
  it "updates friend name in activities" do
36
36
  run_cmd("list activities")[:stdout].must_equal <<-FILE
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.
37
38
  2015-11-01: Grace Hopper and I went to Marie's Diner. George had to cancel at the last minute. @food
38
39
  2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
39
40
  2014-12-31: Celebrated the new year in Paris with Marie Curie. @partying
@@ -41,6 +42,7 @@ clean_describe "rename friend" do
41
42
  FILE
42
43
  subject
43
44
  run_cmd("list activities")[:stdout].must_equal <<-FILE
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.
44
46
  2015-11-01: Grace Hopper and I went to Marie's Diner. George had to cancel at the last minute. @food
45
47
  2015-01-04: Got lunch with Grace Hopper and George Washington. @food
46
48
  2014-12-31: Celebrated the new year in Paris with Marie Curie. @partying
@@ -35,7 +35,8 @@ clean_describe "set location" do
35
35
  end
36
36
 
37
37
  it "updates existing location" do
38
- line_changed "- Marie Curie [Atlantis] @science", "- Marie Curie [Paris] @science"
38
+ line_changed "- Marie Curie [Atlantis] @science",
39
+ "- Marie Curie [Paris] @science"
39
40
  end
40
41
  end
41
42
 
@@ -40,12 +40,12 @@ Total time elapsed: 0 days
40
40
 
41
41
  it "returns the content" do
42
42
  stdout_only <<-OUTPUT
43
- Total activities: 4
44
- Total friends: 3
43
+ Total activities: 5
44
+ Total friends: 5
45
45
  Total locations: 3
46
46
  Total notes: 4
47
- Total tags: 5
48
- Total time elapsed: 848 days
47
+ Total tags: 10
48
+ Total time elapsed: 1179 days
49
49
  OUTPUT
50
50
  end
51
51
 
@@ -26,6 +26,7 @@ require "friends"
26
26
 
27
27
  CONTENT = <<-FILE.freeze
28
28
  ### Activities:
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.
29
30
  - 2015-11-01: **Grace Hopper** and I went to _Marie's Diner_. George had to cancel at the last minute. @food
30
31
  - 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
31
32
  - 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
@@ -41,6 +42,8 @@ CONTENT = <<-FILE.freeze
41
42
  - George Washington Carver
42
43
  - Grace Hopper (a.k.a. The Admiral a.k.a. Amazing Grace) [Paris] @navy @science
43
44
  - Marie Curie [Atlantis] @science
45
+ - Norman Borlaug (a.k.a. Norm) @science @science:outdoors @science:outdoors:agronomy
46
+ - Stanislav Petrov (a.k.a. Stan) @doesnt-trust-computers @doesnt-trust-computers:military-uses
44
47
 
45
48
  ### Locations:
46
49
  - Atlantis
@@ -53,6 +56,7 @@ SCRAMBLED_CONTENT = <<-FILE.freeze
53
56
  ### Activities:
54
57
  - 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
55
58
  - 2015-11-01: **Grace Hopper** and I went to _Marie's Diner_. George had to cancel at the last minute. @food
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.
56
60
  - 2014-11-15: Talked to **George Washington Carver** on the phone for an hour.
57
61
  - 2014-12-31: Celebrated the new year in _Paris_ with **Marie Curie**. @partying
58
62
 
@@ -66,6 +70,8 @@ SCRAMBLED_CONTENT = <<-FILE.freeze
66
70
  - George Washington Carver
67
71
  - Marie Curie [Atlantis] @science
68
72
  - Grace Hopper (a.k.a. The Admiral a.k.a. Amazing Grace) [Paris] @navy @science
73
+ - Stanislav Petrov (a.k.a. Stan) @doesnt-trust-computers @doesnt-trust-computers:military-uses
74
+ - Norman Borlaug (a.k.a. Norm) @science @science:outdoors @science:outdoors:agronomy
69
75
 
70
76
  ### Locations:
71
77
  - Paris
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.36'
4
+ version: '0.37'
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-01-17 00:00:00.000000000 Z
11
+ date: 2018-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chronic
@@ -172,16 +172,17 @@ executables:
172
172
  extensions: []
173
173
  extra_rdoc_files: []
174
174
  files:
175
+ - ".github/CONTRIBUTING.md"
176
+ - ".github/ISSUE_TEMPLATE.md"
177
+ - ".github/PULL_REQUEST_TEMPLATE.md"
175
178
  - ".gitignore"
176
179
  - ".overcommit.yml"
177
180
  - ".rubocop.yml"
178
181
  - ".travis.yml"
179
182
  - CHANGELOG.md
180
183
  - CODE_OF_CONDUCT.md
181
- - CONTRIBUTING.md
182
184
  - Gemfile
183
185
  - LICENSE.txt
184
- - PULL_REQUEST_TEMPLATE.md
185
186
  - README.md
186
187
  - RELEASING.md
187
188
  - Rakefile
@@ -1,44 +0,0 @@
1
- # Contributing
2
-
3
- If you're reading this, it means you want to contribute to this project. Hooray!
4
-
5
- Here's what to do:
6
-
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 `rake test`.) Do your best to conform to
20
- existing style and commenting patterns. You can run the local version of the
21
- `friends` script with `bundle exec bin/friends`.
22
- 7. Update the `README.md` as necessary to include your changes.
23
- 8. Check your changes for code style by running `bundle exec rubocop .` in
24
- the repository directory. You may see output indicating that some lines
25
- differ from the style guidelines. Change your code so that Rubocop gives
26
- 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
27
- scary and it's totally fine to need help!).
28
- 8. Commit your changes
29
- (`git commit -am "Add some feature"`).
30
- 9. Push your changes to GitHub, and open a Pull Request.
31
- 10. Your code will be reviewed and merged as quickly as
32
- possible!
33
- 11. Check yourself out on the [contributors page](https://github.com/JacobEvelyn/friends/graphs/contributors)! Look at how cool you are!
34
-
35
- If you have any questions at all or get stuck on any step,
36
- don't hesitate to
37
- [open a GitHub Issue](https://github.com/JacobEvelyn/friends/issues/new)!
38
- I'll respond as quickly as I can, and I'm friendly! I
39
- promise I don't bite. 😊
40
-
41
- ## Code of Conduct
42
-
43
- Note that this project follows a [Code of Conduct](https://github.com/JacobEvelyn/friends/blob/master/CODE_OF_CONDUCT.md).
44
- If you're a polite, reasonable person you won't have any issues!