friends 0.50 → 0.51
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +20 -5
- data/.travis.yml +1 -3
- data/CHANGELOG.md +16 -0
- data/bin/friends +2 -6
- data/friends.gemspec +3 -5
- data/lib/friends/commands/update.rb +2 -2
- data/lib/friends/event.rb +2 -2
- data/lib/friends/friend.rb +5 -7
- data/lib/friends/graph.rb +1 -1
- data/lib/friends/introvert.rb +7 -7
- data/lib/friends/location.rb +1 -1
- data/lib/friends/post_install_message.rb +1 -2
- data/lib/friends/regex_builder.rb +8 -8
- data/lib/friends/sem_ver_comparator.rb +20 -0
- data/lib/friends/version.rb +1 -1
- data/test/add_event_helper.rb +6 -4
- data/test/editor +2 -0
- data/test/helper.rb +2 -2
- metadata +6 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a48314cd65423f48134663c087be43e3978f940c9c26d47dd25e83f9d3d7af1
|
4
|
+
data.tar.gz: cb6064161d7ff10e4b2300127aa22a0740f02fec6051a93e90288ed1268f8595
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 941c76dab927034c7b9663b48f06f1299b522b2595e92ccb5b829c4adea7fc52b37e7ac8f03d50810b799422cf59441b56b26851f11b2835d380b26ba244a0f3
|
7
|
+
data.tar.gz: 4e079a3d0e94d69f4e18d30e3313a4e0e520f9c3917528c313d2ac919a7ac920c1dbdf5e3ad0d6afe95d44bda47ce85bd06c3fd64fdad4b3a45f96a7ece3b16e
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
AllCops:
|
2
|
-
TargetRubyVersion: 2.
|
2
|
+
TargetRubyVersion: 2.3
|
3
3
|
|
4
4
|
Gemspec/RequiredRubyVersion:
|
5
5
|
Enabled: false
|
@@ -10,9 +10,18 @@ Layout/ClosingHeredocIndentation:
|
|
10
10
|
Layout/DotPosition:
|
11
11
|
EnforcedStyle: trailing
|
12
12
|
|
13
|
-
Layout/
|
13
|
+
Layout/HeredocIndentation:
|
14
14
|
Enabled: false
|
15
15
|
|
16
|
+
Layout/LineLength:
|
17
|
+
Max: 100
|
18
|
+
|
19
|
+
Lint/RaiseException:
|
20
|
+
Enabled: true
|
21
|
+
|
22
|
+
Lint/StructNewOverride:
|
23
|
+
Enabled: true
|
24
|
+
|
16
25
|
Metrics/AbcSize:
|
17
26
|
Enabled: false
|
18
27
|
|
@@ -28,9 +37,6 @@ Metrics/ClassLength:
|
|
28
37
|
Metrics/CyclomaticComplexity:
|
29
38
|
Enabled: false
|
30
39
|
|
31
|
-
Metrics/LineLength:
|
32
|
-
Max: 100
|
33
|
-
|
34
40
|
Metrics/MethodLength:
|
35
41
|
Enabled: false
|
36
42
|
|
@@ -46,6 +52,15 @@ Naming/AccessorMethodName:
|
|
46
52
|
Style/Documentation:
|
47
53
|
Enabled: false
|
48
54
|
|
55
|
+
Style/HashEachMethods:
|
56
|
+
Enabled: true
|
57
|
+
|
58
|
+
Style/HashTransformKeys:
|
59
|
+
Enabled: true
|
60
|
+
|
61
|
+
Style/HashTransformValues:
|
62
|
+
Enabled: true
|
63
|
+
|
49
64
|
Style/MultilineBlockChain:
|
50
65
|
Enabled: false
|
51
66
|
|
data/.travis.yml
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.1
|
4
|
-
- 2.2
|
5
3
|
- 2.3
|
6
4
|
- 2.4
|
7
5
|
- 2.5
|
@@ -15,7 +13,7 @@ matrix:
|
|
15
13
|
gemfile: Gemfile
|
16
14
|
script:
|
17
15
|
- bundle exec rake test
|
18
|
-
- gem install --no-document rubocop
|
16
|
+
- gem install --no-document rubocop && rubocop
|
19
17
|
env:
|
20
18
|
- CODE_COVERAGE=true
|
21
19
|
branches:
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,22 @@
|
|
4
4
|
making a small donation (🙏) with the **Sponsor** button at the top of this page to
|
5
5
|
show you appreciate its continued development.
|
6
6
|
|
7
|
+
## [v0.51](https://github.com/JacobEvelyn/friends/tree/v0.51) (2020-04-05)
|
8
|
+
|
9
|
+
[Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.50...v0.51)
|
10
|
+
|
11
|
+
**Implemented enhancements:**
|
12
|
+
|
13
|
+
- Drop Semverse dependency [\#256](https://github.com/JacobEvelyn/friends/issues/256)
|
14
|
+
|
15
|
+
**Closed issues:**
|
16
|
+
|
17
|
+
- Drop support for Ruby \<2.3 [\#257](https://github.com/JacobEvelyn/friends/issues/257)
|
18
|
+
|
19
|
+
**Merged pull requests:**
|
20
|
+
|
21
|
+
- Remove Semverse dependency, and require Ruby 2.3+ [\#258](https://github.com/JacobEvelyn/friends/pull/258) ([JacobEvelyn](https://github.com/JacobEvelyn))
|
22
|
+
|
7
23
|
## [v0.50](https://github.com/JacobEvelyn/friends/tree/v0.50) (2020-04-03)
|
8
24
|
|
9
25
|
[Full Changelog](https://github.com/JacobEvelyn/friends/compare/v0.49...v0.50)
|
data/bin/friends
CHANGED
@@ -12,7 +12,6 @@ end
|
|
12
12
|
require "gli"
|
13
13
|
require "paint"
|
14
14
|
require "readline"
|
15
|
-
require "semverse"
|
16
15
|
|
17
16
|
require "friends/introvert"
|
18
17
|
require "friends/version"
|
@@ -48,10 +47,7 @@ class Stripped; end
|
|
48
47
|
accept(Stripped, &:strip)
|
49
48
|
|
50
49
|
class InputDate; end
|
51
|
-
accept(InputDate)
|
52
|
-
time = Chronic.parse(value)
|
53
|
-
time && time.to_date
|
54
|
-
end
|
50
|
+
accept(InputDate) { |value| Chronic.parse(value)&.to_date }
|
55
51
|
|
56
52
|
switch [:quiet],
|
57
53
|
negatable: false,
|
@@ -102,7 +98,7 @@ post do
|
|
102
98
|
rescue Errno::ENOENT
|
103
99
|
# If the pager is not installed, just print the output.
|
104
100
|
puts @introvert.output
|
105
|
-
rescue Errno::EPIPE
|
101
|
+
rescue Errno::EPIPE
|
106
102
|
# Occurs when quitting the pager.
|
107
103
|
end
|
108
104
|
end
|
data/friends.gemspec
CHANGED
@@ -23,17 +23,15 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
|
-
# We need Ruby 2.
|
27
|
-
|
28
|
-
spec.required_ruby_version = ">= 2.1"
|
26
|
+
# We need Ruby 2.3's safe navigation operator.
|
27
|
+
spec.required_ruby_version = ">= 2.3"
|
29
28
|
|
30
29
|
spec.add_dependency "chronic", "~> 0.10"
|
31
30
|
spec.add_dependency "gli", "~> 2.14"
|
32
31
|
spec.add_dependency "paint", "~> 2.0"
|
33
|
-
spec.add_dependency "semverse", ">= 2", "< 4"
|
34
32
|
spec.add_dependency "tty-pager", "~> 0.11"
|
35
33
|
|
36
34
|
spec.add_development_dependency "minitest", "~> 5.5"
|
37
35
|
spec.add_development_dependency "minitest-proveit", "~> 1.0"
|
38
|
-
spec.add_development_dependency "rake", "~>
|
36
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
39
37
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "friends/post_install_message"
|
4
|
+
require "friends/sem_ver_comparator"
|
4
5
|
|
5
6
|
desc "Updates the `friends` program"
|
6
7
|
command :update do |update|
|
@@ -9,8 +10,7 @@ command :update do |update|
|
|
9
10
|
if match = `gem search friends`.match(/^friends\s\(([^\)]+)\)$/)
|
10
11
|
# rubocop:enable Lint/AssignmentInCondition
|
11
12
|
remote_version = match[1]
|
12
|
-
if
|
13
|
-
Semverse::Version.coerce(Friends::VERSION)
|
13
|
+
if Friends::SemVerComparator.greater?(remote_version, Friends::VERSION)
|
14
14
|
`gem update friends && gem cleanup friends`
|
15
15
|
|
16
16
|
unless global_options[:quiet]
|
data/lib/friends/event.rb
CHANGED
@@ -14,8 +14,8 @@ module Friends
|
|
14
14
|
class Event
|
15
15
|
extend Serializable
|
16
16
|
|
17
|
-
SERIALIZATION_PREFIX = "- "
|
18
|
-
DATE_PARTITION = ": "
|
17
|
+
SERIALIZATION_PREFIX = "- "
|
18
|
+
DATE_PARTITION = ": "
|
19
19
|
|
20
20
|
# @return [Regexp] the regex for capturing groups in deserialization
|
21
21
|
def self.deserialization_regex
|
data/lib/friends/friend.rb
CHANGED
@@ -10,13 +10,13 @@ module Friends
|
|
10
10
|
class Friend
|
11
11
|
extend Serializable
|
12
12
|
|
13
|
-
SERIALIZATION_PREFIX = "- "
|
14
|
-
NICKNAME_PREFIX = "a.k.a. "
|
13
|
+
SERIALIZATION_PREFIX = "- "
|
14
|
+
NICKNAME_PREFIX = "a.k.a. "
|
15
15
|
|
16
16
|
# @return [Regexp] the regex for capturing groups in deserialization
|
17
17
|
def self.deserialization_regex
|
18
18
|
# Note: this regex must be on one line because whitespace is important
|
19
|
-
/(#{SERIALIZATION_PREFIX})?(?<name>[^\(\[@]*[^\(\[@\s])(\s+\(#{NICKNAME_PREFIX}(?<nickname_str>.+)\))?(\s+\[(?<location_name>[^\]]+)\])?(\s+(?<tags_str>(#{TAG_REGEX}\s*)+))?/ # rubocop:disable
|
19
|
+
/(#{SERIALIZATION_PREFIX})?(?<name>[^\(\[@]*[^\(\[@\s])(\s+\(#{NICKNAME_PREFIX}(?<nickname_str>.+)\))?(\s+\[(?<location_name>[^\]]+)\])?(\s+(?<tags_str>(#{TAG_REGEX}\s*)+))?/ # rubocop:disable Layout/LineLength
|
20
20
|
end
|
21
21
|
|
22
22
|
# @return [Regexp] the string of what we expected during deserialization
|
@@ -32,11 +32,9 @@ module Friends
|
|
32
32
|
tags_str: nil
|
33
33
|
)
|
34
34
|
@name = name
|
35
|
-
@nicknames = nickname_str
|
36
|
-
nickname_str.split(" #{NICKNAME_PREFIX}") ||
|
37
|
-
[]
|
35
|
+
@nicknames = nickname_str&.split(" #{NICKNAME_PREFIX}") || []
|
38
36
|
@location_name = location_name
|
39
|
-
@tags = tags_str
|
37
|
+
@tags = tags_str&.split(/\s+/) || []
|
40
38
|
end
|
41
39
|
|
42
40
|
attr_accessor :name
|
data/lib/friends/graph.rb
CHANGED
data/lib/friends/introvert.rb
CHANGED
@@ -16,10 +16,10 @@ require "friends/friends_error"
|
|
16
16
|
|
17
17
|
module Friends
|
18
18
|
class Introvert
|
19
|
-
ACTIVITIES_HEADER = "### Activities:"
|
20
|
-
NOTES_HEADER = "### Notes:"
|
21
|
-
FRIENDS_HEADER = "### Friends:"
|
22
|
-
LOCATIONS_HEADER = "### Locations:"
|
19
|
+
ACTIVITIES_HEADER = "### Activities:"
|
20
|
+
NOTES_HEADER = "### Notes:"
|
21
|
+
FRIENDS_HEADER = "### Friends:"
|
22
|
+
LOCATIONS_HEADER = "### Locations:"
|
23
23
|
|
24
24
|
# @param filename [String] the name of the friends Markdown file
|
25
25
|
def initialize(filename:)
|
@@ -725,8 +725,8 @@ module Friends
|
|
725
725
|
|
726
726
|
begin
|
727
727
|
instance_variable_get("@#{stage.id}") << stage.klass.deserialize(line)
|
728
|
-
rescue StandardError =>
|
729
|
-
bad_line(
|
728
|
+
rescue StandardError => e
|
729
|
+
bad_line(e, line_num)
|
730
730
|
end
|
731
731
|
|
732
732
|
state
|
@@ -808,7 +808,7 @@ module Friends
|
|
808
808
|
a.default_location && a.default_location != activity.default_location
|
809
809
|
end
|
810
810
|
|
811
|
-
str += " to #{Paint[
|
811
|
+
str += " to #{Paint[later_activity&.date || 'present', :bold]}"
|
812
812
|
end
|
813
813
|
|
814
814
|
str += " already" if earlier_activity_with_default_location != activity
|
data/lib/friends/location.rb
CHANGED
@@ -3,6 +3,5 @@
|
|
3
3
|
module Friends
|
4
4
|
POST_INSTALL_MESSAGE = "\nfriends is a volunteer project. If you find it useful, please "\
|
5
5
|
"consider making a small donation:\n\n\t"\
|
6
|
-
"https://github.com/JacobEvelyn/friends#contributing-its-encouraged\n\n"
|
7
|
-
freeze
|
6
|
+
"https://github.com/JacobEvelyn/friends#contributing-its-encouraged\n\n"
|
8
7
|
end
|
@@ -6,26 +6,26 @@ module Friends
|
|
6
6
|
class RegexBuilder
|
7
7
|
# We don't want to match strings that are "escaped" with a leading
|
8
8
|
# backslash.
|
9
|
-
NO_LEADING_BACKSLASH = "(?<!\\\\)"
|
9
|
+
NO_LEADING_BACKSLASH = "(?<!\\\\)"
|
10
10
|
|
11
11
|
# We don't want to match strings that are directly touching double asterisks
|
12
12
|
# as these are treated as sacred by our program.
|
13
|
-
NO_LEADING_ASTERISKS = "(?<!\\*\\*)"
|
14
|
-
NO_TRAILING_ASTERISKS = "(?!\\*\\*)"
|
13
|
+
NO_LEADING_ASTERISKS = "(?<!\\*\\*)"
|
14
|
+
NO_TRAILING_ASTERISKS = "(?!\\*\\*)"
|
15
15
|
|
16
16
|
# We don't want to match strings that are directly touching underscores
|
17
17
|
# as these are treated as sacred by our program.
|
18
|
-
NO_LEADING_UNDERSCORES = "(?<!_)"
|
19
|
-
NO_TRAILING_UNDERSCORES = "(?!_)"
|
18
|
+
NO_LEADING_UNDERSCORES = "(?<!_)"
|
19
|
+
NO_TRAILING_UNDERSCORES = "(?!_)"
|
20
20
|
|
21
21
|
# We don't want to match strings that are part of other words.
|
22
|
-
NO_LEADING_ALPHABETICALS = "(?<![A-z])"
|
23
|
-
NO_TRAILING_ALPHABETICALS = "(?![A-z])"
|
22
|
+
NO_LEADING_ALPHABETICALS = "(?<![A-z])"
|
23
|
+
NO_TRAILING_ALPHABETICALS = "(?![A-z])"
|
24
24
|
|
25
25
|
# We ignore case within the regex as opposed to globally to allow consumers
|
26
26
|
# of this API the ability to pass in strings that turn off this modifier
|
27
27
|
# with the "(?-i)" string.
|
28
|
-
IGNORE_CASE = "(?i)"
|
28
|
+
IGNORE_CASE = "(?i)"
|
29
29
|
|
30
30
|
def self.regex(str)
|
31
31
|
Regexp.new(
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Friends
|
4
|
+
module SemVerComparator
|
5
|
+
SEPARATOR = "."
|
6
|
+
NUMBER_REGEX = /\d+/.freeze
|
7
|
+
|
8
|
+
def self.greater?(version_a, version_b)
|
9
|
+
version_a.split(SEPARATOR).zip(version_b.split(SEPARATOR)) do |a, b|
|
10
|
+
a_num = a&.[](NUMBER_REGEX)&.to_i
|
11
|
+
b_num = b&.[](NUMBER_REGEX)&.to_i
|
12
|
+
return false if a_num.nil?
|
13
|
+
return true if b_num.nil? || a_num > b_num
|
14
|
+
return false if a_num < b_num
|
15
|
+
end
|
16
|
+
|
17
|
+
false
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/friends/version.rb
CHANGED
data/test/add_event_helper.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
def date_parsing_specs(test_stdout: true)
|
2
4
|
describe "date parsing" do
|
3
5
|
let(:description) { "Test." }
|
@@ -123,7 +125,7 @@ def description_parsing_specs(test_stdout: true)
|
|
123
125
|
|
124
126
|
it { line_added "- #{date}: Met **Grace Hopper**, and others, at 12." }
|
125
127
|
if test_stdout
|
126
|
-
it { stdout_only "#{capitalized_event} added: \"#{date}: Met Grace Hopper, and others, at 12.\"" } # rubocop:disable
|
128
|
+
it { stdout_only "#{capitalized_event} added: \"#{date}: Met Grace Hopper, and others, at 12.\"" } # rubocop:disable Layout/LineLength
|
127
129
|
end
|
128
130
|
end
|
129
131
|
|
@@ -132,7 +134,7 @@ def description_parsing_specs(test_stdout: true)
|
|
132
134
|
|
133
135
|
it { line_added "- #{date}: Met **Grace Hopper**, King James, and others at 12." }
|
134
136
|
if test_stdout
|
135
|
-
it { stdout_only "#{capitalized_event} added: \"#{date}: Met Grace Hopper, King James, and others at 12.\"" } # rubocop:disable
|
137
|
+
it { stdout_only "#{capitalized_event} added: \"#{date}: Met Grace Hopper, King James, and others at 12.\"" } # rubocop:disable Layout/LineLength
|
136
138
|
end
|
137
139
|
end
|
138
140
|
|
@@ -141,7 +143,7 @@ def description_parsing_specs(test_stdout: true)
|
|
141
143
|
|
142
144
|
it { line_added "- #{date}: Met someone—**Grace Hopper**?! At 12." }
|
143
145
|
if test_stdout
|
144
|
-
it { stdout_only "#{capitalized_event} added: \"#{date}: Met someone—Grace Hopper?! At 12.\"" } # rubocop:disable
|
146
|
+
it { stdout_only "#{capitalized_event} added: \"#{date}: Met someone—Grace Hopper?! At 12.\"" } # rubocop:disable Layout/LineLength
|
145
147
|
end
|
146
148
|
end
|
147
149
|
|
@@ -150,7 +152,7 @@ def description_parsing_specs(test_stdout: true)
|
|
150
152
|
|
151
153
|
it { line_added "- #{date}: Met someone {**Grace Hopper**}—at 12." }
|
152
154
|
if test_stdout
|
153
|
-
it { stdout_only "#{capitalized_event} added: \"#{date}: Met someone {Grace Hopper}—at 12.\"" } # rubocop:disable
|
155
|
+
it { stdout_only "#{capitalized_event} added: \"#{date}: Met someone {Grace Hopper}—at 12.\"" } # rubocop:disable Layout/LineLength
|
154
156
|
end
|
155
157
|
end
|
156
158
|
|
data/test/editor
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
3
5
|
# This is an example "editor" used to test the `friends edit` command.
|
4
6
|
# It inserts a new activity into the second line of the file, allowing
|
5
7
|
# us to test that friends and locations added in an `edit` command are
|
data/test/helper.rb
CHANGED
@@ -24,7 +24,7 @@ require "securerandom"
|
|
24
24
|
|
25
25
|
require "friends"
|
26
26
|
|
27
|
-
CONTENT = <<-FILE
|
27
|
+
CONTENT = <<-FILE
|
28
28
|
### Activities:
|
29
29
|
- 2018-02-06: @science:indoors:agronomy-with-hydroponics: **Norman Borlaug** and **George Washington Carver** scored a tour of _Atlantis_' hydroponics gardens through wetplants@example.org and they took me along.
|
30
30
|
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
@@ -52,7 +52,7 @@ CONTENT = <<-FILE.freeze
|
|
52
52
|
FILE
|
53
53
|
|
54
54
|
# This is CONTENT but with activities, friends, and locations unsorted.
|
55
|
-
SCRAMBLED_CONTENT = <<-FILE
|
55
|
+
SCRAMBLED_CONTENT = <<-FILE
|
56
56
|
### Activities:
|
57
57
|
- 2015-01-04: Got lunch with **Grace Hopper** and **George Washington Carver**. @food
|
58
58
|
- 2015-11-01: **Grace Hopper** and I went to _Martha's Vineyard_. George had to cancel at the last minute.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: friends
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.51'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacob Evelyn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04-
|
11
|
+
date: 2020-04-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chronic
|
@@ -52,26 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: semverse
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '2'
|
62
|
-
- - "<"
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: '4'
|
65
|
-
type: :runtime
|
66
|
-
prerelease: false
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
68
|
-
requirements:
|
69
|
-
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '2'
|
72
|
-
- - "<"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '4'
|
75
55
|
- !ruby/object:Gem::Dependency
|
76
56
|
name: tty-pager
|
77
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +100,14 @@ dependencies:
|
|
120
100
|
requirements:
|
121
101
|
- - "~>"
|
122
102
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
103
|
+
version: '13.0'
|
124
104
|
type: :development
|
125
105
|
prerelease: false
|
126
106
|
version_requirements: !ruby/object:Gem::Requirement
|
127
107
|
requirements:
|
128
108
|
- - "~>"
|
129
109
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
110
|
+
version: '13.0'
|
131
111
|
description: Spend time with the people you care about. Introvert-tested. Extrovert-approved.
|
132
112
|
email:
|
133
113
|
- jacobevelyn@gmail.com
|
@@ -177,6 +157,7 @@ files:
|
|
177
157
|
- lib/friends/note.rb
|
178
158
|
- lib/friends/post_install_message.rb
|
179
159
|
- lib/friends/regex_builder.rb
|
160
|
+
- lib/friends/sem_ver_comparator.rb
|
180
161
|
- lib/friends/serializable.rb
|
181
162
|
- lib/friends/tag_regex.rb
|
182
163
|
- lib/friends/version.rb
|
@@ -224,7 +205,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
224
205
|
requirements:
|
225
206
|
- - ">="
|
226
207
|
- !ruby/object:Gem::Version
|
227
|
-
version: '2.
|
208
|
+
version: '2.3'
|
228
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
229
210
|
requirements:
|
230
211
|
- - ">="
|