friends 0.44 → 0.45

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: 28ee18ecc2add1c45714c81100ead732d85c7ff7
4
- data.tar.gz: a6eb3b3a99415c702c946409af5d80767cc7c8aa
3
+ metadata.gz: eb0258b3dca86e0aba3b852b4d58462e2e3570f6
4
+ data.tar.gz: cbb2091ca9b77764999b5667b4a00c309ce1263d
5
5
  SHA512:
6
- metadata.gz: 5e4643dc1724df57269c5172eb76316d52e821eed90367f88b18956dec2c28f293abc42e7e310145e7aa320cf5dc3aeb33668ff4078c7833f2fcb1fbee89e6f6
7
- data.tar.gz: ea8d089451d5b2e29873aff17592613b9d99799a784f05ab43a9847441c7936de11e411cebdae3aae14d4bafc85e928d1418db12bbcfca0b74fb80803b642074
6
+ metadata.gz: '052706180f25b59c73618c545e659becf4a1b9295ba3bb4e8478b7279a0c7460c5e974eafc8627c3f5745c5236ba37ff31648b4129b9a70780bc4d55f83cac96'
7
+ data.tar.gz: 4e0819d8bcab2152a883853e5b2b6899660faa8eca350dfa73085658ad1e5b4a2fe95be97d4006f8fd5d23d11865a25a7cae66b8c8a78184ddc6b0c9406bef50
@@ -9,6 +9,7 @@ merge this change:
9
9
  - [ ] Code has tests as appropriate.
10
10
  - [ ] Code has been reviewed by @JacobEvelyn.
11
11
  - [ ] All tests pass on Travis CI.
12
+ - [ ] Code coverage remains high.
12
13
  - [ ] Rubocop reports no issues on Travis CI.
13
14
  - [ ] The `README.md` file is updated as appropriate.
14
15
 
@@ -5,9 +5,6 @@ rvm:
5
5
  - 2.3
6
6
  - 2.4
7
7
  - 2.5 # 2.6 is tested below
8
- branches:
9
- only:
10
- - master
11
8
  script:
12
9
  - bundle exec rake test
13
10
  matrix:
@@ -15,6 +12,11 @@ matrix:
15
12
  - rvm: 2.6
16
13
  script:
17
14
  - bundle exec rake test
18
- - gem install rubocop && rubocop
15
+ - gem install --no-document rubocop && rubocop
16
+ env:
17
+ - CODE_COVERAGE=true
18
+ branches:
19
+ only:
20
+ - master # Always run on the master branch
19
21
  notifications:
20
22
  email: false
@@ -14,6 +14,21 @@ making a small donation (🙏) to show you appreciate its continued development.
14
14
 
15
15
  👆 Donate with these buttons! 👆
16
16
 
17
+ ## [v0.45](https://github.com/JacobEvelyn/friends/tree/v0.45) (2019-01-15)
18
+ [Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.44...v0.45)
19
+
20
+ **Implemented enhancements:**
21
+
22
+ - Match tags case-insensitively [\#226](https://github.com/JacobEvelyn/friends/issues/226)
23
+ - Add `friends graph --unscaled` [\#201](https://github.com/JacobEvelyn/friends/issues/201)
24
+
25
+ **Merged pull requests:**
26
+
27
+ - Switch from Coveralls to Codecov [\#230](https://github.com/JacobEvelyn/friends/pull/230) ([JacobEvelyn](https://github.com/JacobEvelyn))
28
+ - Match tags case-insensitively [\#229](https://github.com/JacobEvelyn/friends/pull/229) ([JacobEvelyn](https://github.com/JacobEvelyn))
29
+ - Only compute code coverage once per Travis run [\#228](https://github.com/JacobEvelyn/friends/pull/228) ([JacobEvelyn](https://github.com/JacobEvelyn))
30
+ - Scale graphs by default [\#227](https://github.com/JacobEvelyn/friends/pull/227) ([JacobEvelyn](https://github.com/JacobEvelyn))
31
+
17
32
  ## [v0.44](https://github.com/JacobEvelyn/friends/tree/v0.44) (2019-01-12)
18
33
  [Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.43...v0.44)
19
34
 
@@ -649,4 +664,4 @@ making a small donation (🙏) to show you appreciate its continued development.
649
664
  ## [v0.0.1](https://github.com/JacobEvelyn/friends/tree/v0.0.1) (2014-12-11)
650
665
 
651
666
 
652
- \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
667
+ \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/friends.svg)](https://badge.fury.io/rb/friends)
2
- [![Coverage Status](https://coveralls.io/repos/github/JacobEvelyn/friends/badge.svg)](https://coveralls.io/github/JacobEvelyn/friends)
2
+ [![Code Coverage](https://codecov.io/gh/JacobEvelyn/friends/branch/master/graph/badge.svg)](https://codecov.io/gh/JacobEvelyn/friends)
3
3
  [![Build Status](https://travis-ci.org/JacobEvelyn/friends.svg?branch=master)](https://travis-ci.org/JacobEvelyn/friends)
4
4
  [![Readme Score](http://readme-score-api.herokuapp.com/score.svg?url=JacobEvelyn/friends&bust=1)](http://clayallsopp.github.io/readme-score?url=JacobEvelyn/friends)
5
5
  [![Inline docs](http://inch-ci.org/github/JacobEvelyn/friends.png)](http://inch-ci.org/github/JacobEvelyn/friends)
@@ -483,86 +483,97 @@ Graphs (in color!) your activities over time:
483
483
 
484
484
  ```bash
485
485
  $ friends graph
486
- Nov 2017 |███
487
- Dec 2017 |██
486
+ Feb 2018 |██████∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
487
+ Jan 2018 |████████████████████
488
+ Dec 2017 |███∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
489
+ Nov 2017 |█████████∙∙∙∙∙∙∙∙∙∙∙|
490
+ ```
491
+
492
+ By default, graphs are scaled relative to the month with the most activities.
493
+ You can also show the unscaled graph:
494
+
495
+ ```bash
496
+ $ friends graph --unscaled
497
+ Feb 2018 |██
488
498
  Jan 2018 |███████
489
- Feb 2018 |█████
499
+ Dec 2017 |█
500
+ Nov 2017 |███
490
501
  ```
491
502
 
492
- Or graph only activities with a certain friend:
503
+ You can graph only activities with a certain friend:
493
504
 
494
505
  ```bash
495
506
  $ friends graph --with George
496
- Nov 2017 |█∙∙|
497
- Dec 2017 |∙∙|
498
- Jan 2018 |█████∙∙|
499
- Feb 2018 |███∙∙|
507
+ Feb 2018 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
508
+ Jan 2018 |█████████████████∙∙∙|
509
+ Dec 2017 |███∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
510
+ Nov 2017 |██████∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
500
511
  ```
501
512
 
502
- The dots represent the total activities that month, so you can get a feel for the
513
+ The dots represent the total activities of each month, so you can get a feel for the
503
514
  proportion of activities with that friend vs. the total you've logged.
504
515
 
505
516
  You can also graph a certain group of friends:
506
517
 
507
518
  ```bash
508
519
  $ friends graph --with George --with Grace
509
- Nov 2017 |∙∙∙|
510
- Dec 2017 |∙∙|
511
- Jan 2018 |█∙∙∙∙∙∙|
512
- Feb 2018 |∙∙∙∙∙|
520
+ Feb 2018 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
521
+ Jan 2018 |███████████∙∙∙∙∙∙∙∙∙|
522
+ Dec 2017 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
523
+ Nov 2017 |███∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
513
524
  ```
514
525
 
515
526
  Or graph only activities with a certain tag:
516
527
 
517
528
  ```bash
518
529
  $ friends graph --tagged food
519
- Nov 2017 |█∙∙|
520
- Dec 2017 |∙∙|
521
- Jan 2018 |∙∙∙∙∙∙∙|
522
- Feb 2018 |███∙∙|
530
+ Feb 2018 |██████∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
531
+ Jan 2018 |█████████∙∙∙∙∙∙∙∙∙∙∙|
532
+ Dec 2017 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
533
+ Nov 2017 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
523
534
  ```
524
535
 
525
536
  Or with multiple tags:
526
537
 
527
538
  ```bash
528
- $ friends graph --tagged @fun --tagged @work
529
- Nov 2017 |∙∙∙|
530
- Dec 2017 |█∙|
531
- Jan 2018 |∙∙∙∙∙∙∙|
532
- Feb 2018 |█∙∙∙∙|
539
+ $ friends graph --tagged fun --tagged work
540
+ Feb 2018 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
541
+ Jan 2018 |█∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
542
+ Dec 2017 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
543
+ Nov 2017 |█∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
533
544
  ```
534
545
 
535
546
  Or graph only activities in a certain location:
536
547
 
537
548
  ```bash
538
549
  $ friends graph --in Paris
539
- Nov 2017 |█∙∙|
540
- Dec 2017 |∙∙|
541
- Jan 2018 |∙∙∙∙∙∙∙|
542
- Feb 2018 |█∙∙∙∙|
550
+ Feb 2018 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
551
+ Jan 2018 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
552
+ Dec 2017 |███∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
553
+ Nov 2017 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
543
554
  ```
544
555
 
545
556
  Or graph only activities on or after a certain date:
546
557
 
547
558
  ```bash
548
- $ friends graph --since 'January 1st 2018'
549
- Jan 2018 |███████
550
- Feb 2018 |█████
559
+ $ friends graph --since 'January 21st 2018'
560
+ Feb 2018 |███████∙∙∙∙∙∙∙∙∙∙∙∙∙|
561
+ Jan 2018 |█∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
551
562
  ```
552
563
 
553
564
  Or graph only activities before or on a certain date:
554
565
 
555
566
  ```bash
556
567
  $ friends graph --until 'January 1st 2018'
557
- Nov 2017 |███
558
- Dec 2017 |██
559
- Jan 2018 |███████
568
+ Jan 2018 |█████████████∙∙∙∙∙∙∙|
569
+ Dec 2017 |███∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
570
+ Nov 2017 |█████████∙∙∙∙∙∙∙∙∙∙∙|
560
571
  ```
561
572
 
562
573
  And you can use multiple of these flags together:
563
574
 
564
575
  ```bash
565
- $ friends graph --in Paris --tagged food --with George --since 'Jan 2018'
576
+ $ friends graph --unscaled --in Paris --tagged food --with George --since 'Jan 2018'
566
577
  Jan 2018 |∙∙∙∙∙∙∙|
567
578
  Fen 2017 |█∙∙∙∙|
568
579
  ```
@@ -639,7 +650,7 @@ $ friends list activities --tagged food
639
650
  Or use more than one tag:
640
651
 
641
652
  ```bash
642
- $ friends list activities --tagged @fun --tagged @work
653
+ $ friends list activities --tagged fun --tagged work
643
654
  2018-07-04: Summer picnic with @work colleagues. @fun
644
655
  ```
645
656
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- if ENV["TRAVIS"] == "true"
4
+ if ENV["TRAVIS"] == "true" && ENV["CODE_COVERAGE"] == "true"
5
5
  require "simplecov"
6
6
  SimpleCov.formatter = SimpleCov::Formatter::SimpleFormatter
7
7
  SimpleCov.command_name Process.pid.to_s
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
  spec.add_dependency "tty-pager", "~> 0.11"
35
35
 
36
36
  spec.add_development_dependency "bundler", ">= 1.6"
37
- spec.add_development_dependency "coveralls", "~> 0.8"
37
+ spec.add_development_dependency "codecov", "~> 0.1.14"
38
38
  spec.add_development_dependency "minitest", "~> 5.5"
39
39
  spec.add_development_dependency "minitest-proveit", "~> 1.0"
40
40
  spec.add_development_dependency "rake", "~> 12.3"
@@ -29,13 +29,18 @@ command :graph do |graph|
29
29
  desc: "Graph activities before or on the given date",
30
30
  type: InputDate
31
31
 
32
+ graph.switch [:unscaled],
33
+ negatable: false,
34
+ desc: "Do not scale the bars in the graph"
35
+
32
36
  graph.action do |_, options|
33
37
  @introvert.graph(
34
38
  with: options[:with],
35
39
  location_name: options[:in],
36
40
  tagged: options[:tagged],
37
41
  since_date: options[:since],
38
- until_date: options[:until]
42
+ until_date: options[:until],
43
+ unscaled: options[:unscaled]
39
44
  )
40
45
  end
41
46
  end
@@ -146,12 +146,12 @@ module Friends
146
146
  # @param tag [String] the tag to test, of the form "@tag"
147
147
  # @return [Boolean] true iff this activity includes the given tag
148
148
  def includes_tag?(tag)
149
- tags.include? tag
149
+ tags.include? tag.downcase
150
150
  end
151
151
 
152
152
  # @return [Set] all tags in this activity (including the "@")
153
153
  def tags
154
- Set.new(@description.scan(TAG_REGEX))
154
+ Set.new(@description.scan(TAG_REGEX).map(&:downcase))
155
155
  end
156
156
 
157
157
  # Find the names of all friends in this description.
@@ -5,11 +5,17 @@
5
5
  module Friends
6
6
  class Graph
7
7
  DATE_FORMAT = "%b %Y".freeze
8
+ SCALED_SIZE = 20
8
9
 
9
- # @param activities [Array<Friends::Activity>] a list of activities to graph
10
- def initialize(filtered_activities:, all_activities:)
10
+ # @param filtered_activities [Array<Friends::Activity>] a list of activities to highlight in
11
+ # the graph (may be the same as `all_activities`)
12
+ # @param all_activities [Array<Friends::Activity>] a list of activities to graph
13
+ # @param unscaled [Boolean] true iff we should show the absolute size of bars in the graph
14
+ # rather than a scaled version
15
+ def initialize(filtered_activities:, all_activities:, unscaled:)
11
16
  @filtered_activities = filtered_activities
12
17
  @all_activities = all_activities
18
+ @unscaled = unscaled
13
19
 
14
20
  return if @all_activities.empty?
15
21
 
@@ -19,7 +25,18 @@ module Friends
19
25
 
20
26
  # @return [Array<String>] the output to print, with colors
21
27
  def output
22
- to_h.map do |month, (filtered_count, total_count)|
28
+ hash = to_h
29
+ global_total = hash.max_by { |_, (_, val)| val }.last.last unless @unscaled || hash.empty?
30
+
31
+ hash.map do |month, (filtered_count, total_count)|
32
+ unless @unscaled
33
+ # We want to use rationals for math so we can round up as well
34
+ # as down (instead of int division), for more accurate graphing.
35
+ # Floats are less trustworthy and could give results < 0 or > total_count
36
+ filtered_count = Rational(filtered_count * SCALED_SIZE, global_total).round
37
+ total_count = SCALED_SIZE
38
+ end
39
+
23
40
  str = "#{month} |"
24
41
  str += Array.new(filtered_count) do |count|
25
42
  Paint["█", color(count)]
@@ -264,7 +264,7 @@ module Friends
264
264
  # Filter by tag if param is passed.
265
265
  unless tagged.empty?
266
266
  fs = fs.select do |friend|
267
- tagged.all? { |tag| friend.tags.include? tag }
267
+ tagged.all? { |tag| friend.tags.map(&:downcase).include? tag.downcase }
268
268
  end
269
269
  end
270
270
 
@@ -317,9 +317,11 @@ module Friends
317
317
  # unfiltered
318
318
  # @param since_date [Date] a date on or after which to find activities, or nil for unfiltered
319
319
  # @param until_date [Date] a date before or on which to find activities, or nil for unfiltered
320
+ # @param unscaled [Boolean] true iff we should show the absolute size of bars in the graph
321
+ # rather than a scaled version
320
322
  # @raise [FriendsError] if friend, location or tag cannot be found or
321
323
  # is ambiguous
322
- def graph(with:, location_name:, tagged:, since_date:, until_date:)
324
+ def graph(with:, location_name:, tagged:, since_date:, until_date:, unscaled:)
323
325
  filtered_activities_to_graph = filtered_events(
324
326
  events: @activities,
325
327
  with: with,
@@ -340,13 +342,18 @@ module Friends
340
342
  with: [],
341
343
  location_name: nil,
342
344
  tagged: [],
343
- since_date: since_date,
344
- until_date: until_date
345
+
346
+ # By including all activities for the "fencepost" months in our totals,
347
+ # we prevent those months from being always "full" in the graph
348
+ # because all filtered events will match the criteria.
349
+ since_date: (since_date.prev_day(since_date.day - 1) if since_date),
350
+ until_date: (until_date.prev_day(until_date.day - 1).next_month.prev_day if until_date)
345
351
  )
346
352
 
347
353
  Graph.new(
348
354
  filtered_activities: filtered_activities_to_graph,
349
- all_activities: all_activities_to_graph
355
+ all_activities: all_activities_to_graph,
356
+ unscaled: unscaled
350
357
  ).output.each { |line| @output << line }
351
358
  end
352
359
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Friends
4
- VERSION = "0.44".freeze
4
+ VERSION = "0.45".freeze
5
5
  end
@@ -3,7 +3,8 @@
3
3
  require "./test/helper"
4
4
 
5
5
  clean_describe "graph" do
6
- subject { run_cmd("graph") }
6
+ subject { run_cmd("graph#{' --unscaled' if unscaled}") }
7
+ let(:unscaled) { false }
7
8
 
8
9
  describe "when file does not exist" do
9
10
  let(:content) { nil }
@@ -46,8 +47,29 @@ clean_describe "graph" do
46
47
  FILE
47
48
  end
48
49
 
49
- it "graphs all activities" do
50
+ it "graphs all activities, scaled" do
50
51
  stdout_only <<-OUTPUT
52
+ Nov 2015 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
53
+ Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
54
+ Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
55
+ Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
56
+ Jul 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
57
+ Jun 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
58
+ May 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
59
+ Apr 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
60
+ Mar 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
61
+ Feb 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
62
+ Jan 2015 |████████████████████
63
+ Dec 2014 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
64
+ Nov 2014 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
65
+ OUTPUT
66
+ end
67
+
68
+ describe "--unscaled" do
69
+ let(:unscaled) { true }
70
+
71
+ it "graphs all activities, unscaled" do
72
+ stdout_only <<-OUTPUT
51
73
  Nov 2015 |█
52
74
  Oct 2015 |
53
75
  Sep 2015 |
@@ -61,13 +83,15 @@ Feb 2015 |
61
83
  Jan 2015 |████
62
84
  Dec 2014 |█
63
85
  Nov 2014 |█
64
- OUTPUT
86
+ OUTPUT
87
+ end
65
88
  end
66
89
 
67
90
  describe "when there are more activities than colors" do
68
91
  let(:content) do
69
92
  (["### Activities:"] + (["- 2017-06-01: Did something."] * 100)).join("\n")
70
93
  end
94
+ let(:unscaled) { true }
71
95
 
72
96
  it "displays the correct number of activities" do
73
97
  stdout_only("Jun 2017 |" + ("█" * 100))
@@ -75,7 +99,7 @@ Nov 2014 |█
75
99
  end
76
100
 
77
101
  describe "--in" do
78
- subject { run_cmd("graph --in #{location_name}") }
102
+ subject { run_cmd("graph#{' --unscaled' if unscaled} --in #{location_name}") }
79
103
 
80
104
  describe "when location does not exist" do
81
105
  let(:location_name) { "Garbage" }
@@ -86,8 +110,30 @@ Nov 2014 |█
86
110
 
87
111
  describe "when location exists" do
88
112
  let(:location_name) { "paris" }
89
- it "matches location case-insensitively" do
113
+
114
+ it "matches location case-insensitively and scales the graph" do
90
115
  stdout_only <<-OUTPUT
116
+ Nov 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
117
+ Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
118
+ Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
119
+ Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
120
+ Jul 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
121
+ Jun 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
122
+ May 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
123
+ Apr 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
124
+ Mar 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
125
+ Feb 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
126
+ Jan 2015 |███████████████∙∙∙∙∙|
127
+ Dec 2014 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
128
+ Nov 2014 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
129
+ OUTPUT
130
+ end
131
+
132
+ describe "--unscaled" do
133
+ let(:unscaled) { true }
134
+
135
+ it "matches location case-insensitively and does not scale graph" do
136
+ stdout_only <<-OUTPUT
91
137
  Nov 2015 |∙|
92
138
  Oct 2015 |
93
139
  Sep 2015 |
@@ -101,13 +147,14 @@ Feb 2015 |
101
147
  Jan 2015 |███∙|
102
148
  Dec 2014 |█
103
149
  Nov 2014 |∙|
104
- OUTPUT
150
+ OUTPUT
151
+ end
105
152
  end
106
153
  end
107
154
  end
108
155
 
109
156
  describe "--with" do
110
- subject { run_cmd("graph --with #{friend_name}") }
157
+ subject { run_cmd("graph#{' --unscaled' if unscaled} --with #{friend_name}") }
111
158
 
112
159
  describe "when friend does not exist" do
113
160
  let(:friend_name) { "Garbage" }
@@ -128,8 +175,29 @@ Nov 2014 |∙|
128
175
  describe "when friend name matches one friend" do
129
176
  let(:friend_name) { "george" }
130
177
 
131
- it "matches friend case-insensitively" do
178
+ it "matches friend case-insensitively and scales the graph" do
132
179
  stdout_only <<-OUTPUT
180
+ Nov 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
181
+ Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
182
+ Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
183
+ Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
184
+ Jul 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
185
+ Jun 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
186
+ May 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
187
+ Apr 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
188
+ Mar 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
189
+ Feb 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
190
+ Jan 2015 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
191
+ Dec 2014 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
192
+ Nov 2014 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
193
+ OUTPUT
194
+ end
195
+
196
+ describe "--unscaled" do
197
+ let(:unscaled) { true }
198
+
199
+ it "matches friend case-insensitively and does not scale graph" do
200
+ stdout_only <<-OUTPUT
133
201
  Nov 2015 |∙|
134
202
  Oct 2015 |
135
203
  Sep 2015 |
@@ -143,17 +211,44 @@ Feb 2015 |
143
211
  Jan 2015 |█∙∙∙|
144
212
  Dec 2014 |∙|
145
213
  Nov 2014 |█
146
- OUTPUT
214
+ OUTPUT
215
+ end
147
216
  end
148
217
  end
149
218
 
150
219
  describe "when more than one friend name is passed" do
151
- subject { run_cmd("graph --with #{friend_name1} --with #{friend_name2}") }
220
+ subject do
221
+ run_cmd(
222
+ "graph#{' --unscaled' if unscaled} --with #{friend_name1} --with #{friend_name2}"
223
+ )
224
+ end
225
+
152
226
  let(:friend_name1) { "george" }
153
227
  let(:friend_name2) { "grace" }
154
228
 
155
- it "matches all friends case-insensitively" do
229
+ it "matches all friends case-insensitively and scales the graph" do
156
230
  stdout_only <<-OUTPUT
231
+ Nov 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
232
+ Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
233
+ Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
234
+ Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
235
+ Jul 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
236
+ Jun 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
237
+ May 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
238
+ Apr 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
239
+ Mar 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
240
+ Feb 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
241
+ Jan 2015 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
242
+ Dec 2014 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
243
+ Nov 2014 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
244
+ OUTPUT
245
+ end
246
+
247
+ describe "--unscaled" do
248
+ let(:unscaled) { true }
249
+
250
+ it "matches all friends case-insensitively and does not scale graph" do
251
+ stdout_only <<-OUTPUT
157
252
  Nov 2015 |∙|
158
253
  Oct 2015 |
159
254
  Sep 2015 |
@@ -167,16 +262,38 @@ Feb 2015 |
167
262
  Jan 2015 |█∙∙∙|
168
263
  Dec 2014 |∙|
169
264
  Nov 2014 |∙|
170
- OUTPUT
265
+ OUTPUT
266
+ end
171
267
  end
172
268
  end
173
269
  end
174
270
 
175
271
  describe "--tagged" do
176
- subject { run_cmd("graph --tagged food") }
272
+ subject { run_cmd("graph#{' --unscaled' if unscaled} --tagged Food") }
177
273
 
178
- it "matches tag case-sensitively" do
274
+ it "matches tag case-insensitively and scales the graph" do
179
275
  stdout_only <<-OUTPUT
276
+ Nov 2015 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
277
+ Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
278
+ Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
279
+ Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
280
+ Jul 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
281
+ Jun 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
282
+ May 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
283
+ Apr 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
284
+ Mar 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
285
+ Feb 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
286
+ Jan 2015 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
287
+ Dec 2014 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
288
+ Nov 2014 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
289
+ OUTPUT
290
+ end
291
+
292
+ describe "--unscaled" do
293
+ let(:unscaled) { true }
294
+
295
+ it "matches tag case-insensitively and does not scale graph" do
296
+ stdout_only <<-OUTPUT
180
297
  Nov 2015 |█
181
298
  Oct 2015 |
182
299
  Sep 2015 |
@@ -191,15 +308,37 @@ Jan 2015 |█∙∙∙|
191
308
  Dec 2014 |█
192
309
  Nov 2014 |∙|
193
310
  OUTPUT
311
+ end
194
312
  end
195
313
 
196
314
  describe "when more than one tag is passed" do
197
- subject { run_cmd("graph --tagged #{tag1} --tagged #{tag2}") }
198
- let(:tag1) { "food" }
199
- let(:tag2) { "partying" }
315
+ subject { run_cmd("graph#{' --unscaled' if unscaled} --tagged #{tag1} --tagged #{tag2}") }
316
+ let(:tag1) { "Food" }
317
+ let(:tag2) { "PARTYING" }
200
318
 
201
- it "matches all tags case-sensitively" do
319
+ it "matches all tags case-insensitively and scales the graph" do
202
320
  stdout_only <<-OUTPUT
321
+ Nov 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
322
+ Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
323
+ Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
324
+ Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
325
+ Jul 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
326
+ Jun 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
327
+ May 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
328
+ Apr 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
329
+ Mar 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
330
+ Feb 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
331
+ Jan 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
332
+ Dec 2014 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
333
+ Nov 2014 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
334
+ OUTPUT
335
+ end
336
+
337
+ describe "--unscaled" do
338
+ let(:unscaled) { true }
339
+
340
+ it "matches all tags case-insensitively and does not scale graph" do
341
+ stdout_only <<-OUTPUT
203
342
  Nov 2015 |∙|
204
343
  Oct 2015 |
205
344
  Sep 2015 |
@@ -213,16 +352,36 @@ Feb 2015 |
213
352
  Jan 2015 |∙∙∙∙|
214
353
  Dec 2014 |█
215
354
  Nov 2014 |∙|
216
- OUTPUT
355
+ OUTPUT
356
+ end
217
357
  end
218
358
  end
219
359
  end
220
360
 
221
361
  describe "--since" do
222
- subject { run_cmd("graph --since 'January 6th 2015'") }
362
+ subject { run_cmd("graph#{' --unscaled' if unscaled} --since 'January 6th 2015'") }
223
363
 
224
- it "graphs activities on and after the specified date" do
364
+ it "graphs activities on and after the specified date and scales the graph" do
225
365
  stdout_only <<-OUTPUT
366
+ Nov 2015 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
367
+ Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
368
+ Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
369
+ Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
370
+ Jul 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
371
+ Jun 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
372
+ May 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
373
+ Apr 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
374
+ Mar 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
375
+ Feb 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
376
+ Jan 2015 |███████████████∙∙∙∙∙|
377
+ OUTPUT
378
+ end
379
+
380
+ describe "--unscaled" do
381
+ let(:unscaled) { true }
382
+
383
+ it "graphs activities on and after the specified date and does not scale graph" do
384
+ stdout_only <<-OUTPUT
226
385
  Nov 2015 |█
227
386
  Oct 2015 |
228
387
  Sep 2015 |
@@ -233,30 +392,68 @@ May 2015 |
233
392
  Apr 2015 |
234
393
  Mar 2015 |
235
394
  Feb 2015 |
236
- Jan 2015 |███
237
- OUTPUT
395
+ Jan 2015 |███∙|
396
+ OUTPUT
397
+ end
238
398
  end
239
399
  end
240
400
 
241
401
  describe "--until" do
242
- subject { run_cmd("graph --until 'January 6th 2015'") }
402
+ subject { run_cmd("graph#{' --unscaled' if unscaled} --until 'January 6th 2015'") }
243
403
 
244
- it "graphs activities before and on the specified date" do
404
+ it "graphs activities before and on the specified date and scales the graph" do
245
405
  stdout_only <<-OUTPUT
246
- Jan 2015 |███
406
+ Jan 2015 |███████████████∙∙∙∙∙|
407
+ Dec 2014 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
408
+ Nov 2014 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
409
+ OUTPUT
410
+ end
411
+
412
+ describe "--unscaled" do
413
+ let(:unscaled) { true }
414
+
415
+ it "graphs activities before and on the specified date and does not scale graph" do
416
+ stdout_only <<-OUTPUT
417
+ Jan 2015 |███∙|
247
418
  Dec 2014 |█
248
419
  Nov 2014 |█
249
- OUTPUT
420
+ OUTPUT
421
+ end
250
422
  end
251
423
  end
252
424
 
253
425
  describe "combining filters" do
254
- subject { run_cmd("graph --since 'January 6th 2015' --with Grace") }
426
+ subject do
427
+ run_cmd("graph#{' --unscaled' if unscaled} --since 'January 6th 2015' --with Grace")
428
+ end
255
429
 
256
- it "only shows other activities within the same period as the filtered ones" do
430
+ it "only shows other activities within the same period as the filtered ones and scales the "\
431
+ "graph" do
257
432
  # If we just rounded to the month, there would be three unfiltered activities in
258
433
  # January displayed (due to the one on 1/5/2015). Instead, we correctly display two.
259
434
  stdout_only <<-OUTPUT
435
+ Nov 2015 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
436
+ Oct 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
437
+ Sep 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
438
+ Aug 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
439
+ Jul 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
440
+ Jun 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
441
+ May 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
442
+ Apr 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
443
+ Mar 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
444
+ Feb 2015 |∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
445
+ Jan 2015 |█████∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙|
446
+ OUTPUT
447
+ end
448
+
449
+ describe "--unscaled" do
450
+ let(:unscaled) { true }
451
+
452
+ it "only shows other activities within the same period as the filtered ones and does not "\
453
+ "scale graph" do
454
+ # If we just rounded to the month, there would be three unfiltered activities in
455
+ # January displayed (due to the one on 1/5/2015). Instead, we correctly display two.
456
+ stdout_only <<-OUTPUT
260
457
  Nov 2015 |█
261
458
  Oct 2015 |
262
459
  Sep 2015 |
@@ -267,8 +464,9 @@ May 2015 |
267
464
  Apr 2015 |
268
465
  Mar 2015 |
269
466
  Feb 2015 |
270
- Jan 2015 |█∙∙|
271
- OUTPUT
467
+ Jan 2015 |█∙∙∙|
468
+ OUTPUT
469
+ end
272
470
  end
273
471
  end
274
472
  end
@@ -92,9 +92,9 @@ clean_describe "list activities" do
92
92
  end
93
93
 
94
94
  describe "--tagged" do
95
- subject { run_cmd("list activities --tagged food") }
95
+ subject { run_cmd("list activities --tagged FOOD") }
96
96
 
97
- it "matches tag case-sensitively" do
97
+ it "matches tag case-insensitively" do
98
98
  stdout_only <<-OUTPUT
99
99
  2015-01-04: Got lunch with Grace Hopper and George Washington Carver. @food
100
100
  2015-11-01: Grace Hopper and I went to Marie's Diner. George had to cancel at the last minute. @food
@@ -103,8 +103,8 @@ clean_describe "list activities" do
103
103
 
104
104
  describe "when more than one tag is passed" do
105
105
  subject { run_cmd("list activities --tagged #{tag1} --tagged #{tag2}") }
106
- let(:tag1) { "food" }
107
- let(:tag2) { "partying" }
106
+ let(:tag1) { "Food" }
107
+ let(:tag2) { "PARTYING" }
108
108
  let(:content) do
109
109
  <<-FILE
110
110
  ### Activities:
@@ -120,7 +120,7 @@ clean_describe "list activities" do
120
120
  FILE
121
121
  end
122
122
 
123
- it "matches all tags case-sensitively" do
123
+ it "matches all tags case-insensitively" do
124
124
  stdout_only(
125
125
  "2014-12-31: Celebrated the new year in Paris with Marie Curie. @partying @food"
126
126
  )
@@ -69,9 +69,9 @@ Norman Borlaug (a.k.a. Norm) @science @science:outdoors @science:outdoors:agrono
69
69
  end
70
70
 
71
71
  describe "--tagged" do
72
- subject { run_cmd("list friends --tagged science") }
72
+ subject { run_cmd("list friends --tagged scIence") }
73
73
 
74
- it "matches tag case-sensitively" do
74
+ it "matches tag case-insensitively" do
75
75
  stdout_only <<-OUTPUT
76
76
  Marie Curie
77
77
  Grace Hopper
@@ -81,8 +81,8 @@ Norman Borlaug
81
81
 
82
82
  describe "when more than one tag is passed" do
83
83
  subject { run_cmd("list friends --tagged #{tag1} --tagged #{tag2}") }
84
- let(:tag1) { "science" }
85
- let(:tag2) { "navy" }
84
+ let(:tag1) { "Science" }
85
+ let(:tag2) { "NAVY" }
86
86
  let(:content) do
87
87
  <<-FILE
88
88
  ### Activities:
@@ -96,7 +96,7 @@ Norman Borlaug
96
96
  FILE
97
97
  end
98
98
 
99
- it "matches all tags case-sensitively" do
99
+ it "matches all tags case-insensitively" do
100
100
  stdout_only <<-OUTPUT
101
101
  Grace Hopper
102
102
  Neil Armstrong
@@ -95,9 +95,9 @@ clean_describe "list notes" do
95
95
  end
96
96
 
97
97
  describe "--tagged" do
98
- subject { run_cmd("list notes --tagged school") }
98
+ subject { run_cmd("list notes --tagged School") }
99
99
 
100
- it "matches tag case-sensitively" do
100
+ it "matches tag case-insensitively" do
101
101
  stdout_only <<-OUTPUT
102
102
  2015-06-06: Marie Curie just got accepted into a PhD program in Paris. @school
103
103
  2017-03-12: Marie Curie completed her PhD in record time. @school
@@ -106,8 +106,8 @@ clean_describe "list notes" do
106
106
 
107
107
  describe "when more than one tag is passed" do
108
108
  subject { run_cmd("list notes --tagged #{tag1} --tagged #{tag2}") }
109
- let(:tag1) { "science" }
110
- let(:tag2) { "school" }
109
+ let(:tag1) { "Science" }
110
+ let(:tag2) { "SCHOOL" }
111
111
  let(:content) do
112
112
  <<-FILE
113
113
  ### Notes:
@@ -123,7 +123,7 @@ clean_describe "list notes" do
123
123
  FILE
124
124
  end
125
125
 
126
- it "matches all tags case-sensitively" do
126
+ it "matches all tags case-insensitively" do
127
127
  stdout_only <<-OUTPUT
128
128
  2015-11-01: Grace Hopper just started a PhD program. @school @science
129
129
  2014-12-31: Marie Curie completed her PhD today! @science @school
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- if ENV["TRAVIS"] == "true"
3
+ if ENV["TRAVIS"] == "true" && ENV["CODE_COVERAGE"] == "true"
4
4
  require "simplecov"
5
- require "coveralls"
6
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
5
+ require "codecov"
6
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
7
7
  SimpleCov.start do
8
8
  add_filter "/test/"
9
9
  end
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.44'
4
+ version: '0.45'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Evelyn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-12 00:00:00.000000000 Z
11
+ date: 2019-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chronic
@@ -101,19 +101,19 @@ dependencies:
101
101
  - !ruby/object:Gem::Version
102
102
  version: '1.6'
103
103
  - !ruby/object:Gem::Dependency
104
- name: coveralls
104
+ name: codecov
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '0.8'
109
+ version: 0.1.14
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '0.8'
116
+ version: 0.1.14
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: minitest
119
119
  requirement: !ruby/object:Gem::Requirement