friends 0.36 → 0.37

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
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!