friends 0.50 → 0.51
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 +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
|
- - ">="
|