caretaker 0.3.0 → 0.5.0

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
  SHA256:
3
- metadata.gz: 010b7b56270fe29a13749c4f728c2d329f65ab36c5aea469643d31207e8d941a
4
- data.tar.gz: 76a2747db93641034f431dfc622b0e3b44b6919fcdac13e84d93d2025550d31e
3
+ metadata.gz: 91d5852b415785fdfdea2f0b29be9ff2c082ef674203bbab66f195dacd5634cf
4
+ data.tar.gz: a0d62be91237cc9f150f0f3751842cb4ea15de729f38880600eb75606928cc48
5
5
  SHA512:
6
- metadata.gz: 224af39d14ce49161410604d9068a82ca50d1b96327988d4401c5f306839646733c92d246c582dc92ce80b4c2328f759436b8c6669a84191df1b4669c69e7f37
7
- data.tar.gz: '086ea81f8f0f443f72a4ea353f05f6968d99b93659af8146f6a76758e2f82aac88c34817114dce7ee74b0825fc75b38e2185b9c7fd465ac434a53860123f3c44'
6
+ metadata.gz: f701e972ac285d07671cafd4c0c7cc5e149015e2939faef93ee48739797e39f1456ce67c453d2dc76b5f9f8912acd5ff69d2b112f9dd0db0f1f472f443ff4003
7
+ data.tar.gz: f7ea032712663673eb0fbf536884125363d4bdb0994efc038480ba8b8d1a54dc1ba17648e1158e33bbe681d4267d62fb814e84f574b81e5e9617da91323b83fa
data/.gitignore CHANGED
@@ -18,3 +18,5 @@ ab-results*
18
18
  .rspec_status
19
19
 
20
20
  .lock
21
+
22
+ .caretaker.yml
data/CHANGELOG.md CHANGED
@@ -5,19 +5,41 @@ All notable changes to this project will be documented in this file.
5
5
 
6
6
  This changelog was automatically generated using [Caretaker](https://github.com/WolfSoftware/caretaker) by [Wolf Software](https://github.com/WolfSoftware)
7
7
 
8
- ### [Unreleased](https://github.com/WolfSoftware/caretaker/compare/v0.2.0...HEAD)
8
+ ### [v0.5.0](https://github.com/WolfSoftware/caretaker/compare/v0.4.0...v0.5.0)
9
9
 
10
- - Missed the name of the cli options for min-words from -m to -w [`[346ebbc]`](https://github.com/WolfSoftware/caretaker/commit/346ebbc9cb1f08034373b8143436e20cda2d11dd)
10
+ > Released on February, 24th 2020
11
11
 
12
- - Type in the post-commit hook - doesnt stop it working but causes error output [`[9da99cc]`](https://github.com/WolfSoftware/caretaker/commit/9da99cc6b5bc131d491df8019b3acb5dcf62fa6f)
12
+ - Fix an error in the post-commit script where the wrong variable name was being used [`[e0d60a5]`](https://github.com/WolfSoftware/caretaker/commit/e0d60a52e65ceabe8e4adea9ccfe0c295f183f53) [`[TGWolf]`](https://github.com/TGWolf)
13
+
14
+ ### [v0.4.0](https://github.com/WolfSoftware/caretaker/compare/v0.3.0...v0.4.0)
15
+
16
+ > Released on February, 24th 2020
17
+
18
+ - Updated version file for push of gem [`[8dfae21]`](https://github.com/WolfSoftware/caretaker/commit/8dfae211ec5ab70477d3d6587d84cc043a790d64) [`[TGWolf]`](https://github.com/TGWolf)
19
+
20
+ - Fix errors from travis + rubocop [`[5e69549]`](https://github.com/WolfSoftware/caretaker/commit/5e69549506726a8782899d004b64b56ba6fe4729) [`[TGWolf]`](https://github.com/TGWolf)
21
+
22
+ - Fix some issues raised by shellcheck in the post-commit hook [`[caa33d2]`](https://github.com/WolfSoftware/caretaker/commit/caa33d239b00cbea48f9123177a126cade113fac) [`[TGWolf]`](https://github.com/TGWolf)
23
+
24
+ - Add new release tagging and version bumping [`[786ed88]`](https://github.com/WolfSoftware/caretaker/commit/786ed88d1bf3486b03fbc2ee755d4ae4c763ab96) [`[TGWolf]`](https://github.com/TGWolf)
25
+
26
+ - Updated changelog to reflect current version [`[007fa21]`](https://github.com/WolfSoftware/caretaker/commit/007fa219d4845f1910cd625a325574f80909153a) [`[TGWolf]`](https://github.com/TGWolf)
27
+
28
+ ### [v0.3.0](https://github.com/WolfSoftware/caretaker/compare/v0.2.0...v0.3.0)
29
+
30
+ > Released on February, 10th 2020
31
+
32
+ - Missed the name of the cli options for min-words from -m to -w [`[2b8e0cf]`](https://github.com/WolfSoftware/caretaker/commit/2b8e0cf79dd8e957aa688b395ab37f165322bd1e) [`[TGWolf]`](https://github.com/TGWolf)
33
+
34
+ - Type in the post-commit hook - doesnt stop it working but causes error output [`[9da99cc]`](https://github.com/WolfSoftware/caretaker/commit/9da99cc6b5bc131d491df8019b3acb5dcf62fa6f) [`[TGWolf]`](https://github.com/TGWolf)
13
35
 
14
36
  ### [v0.2.0](https://github.com/WolfSoftware/caretaker/releases/v0.2.0)
15
37
 
16
38
  > Released on February, 10th 2020
17
39
 
18
- - Had to bump to version 0.2.0 due to a broken push of 0.1.0 [`[c101fb8]`](https://github.com/WolfSoftware/caretaker/commit/c101fb85fa1831b8758bb27944a1693253b1b74f)
40
+ - Had to bump to version 0.2.0 due to a broken push of 0.1.0 [`[c101fb8]`](https://github.com/WolfSoftware/caretaker/commit/c101fb85fa1831b8758bb27944a1693253b1b74f) [`[TGWolf]`](https://github.com/TGWolf)
19
41
 
20
- - Fix an issue with incorrect spinners in the generate config and repo init functions [`[a15b75b]`](https://github.com/WolfSoftware/caretaker/commit/a15b75bae917276c83536b1e7e385c1dfb55f55c)
42
+ - Fix an issue with incorrect spinners in the generate config and repo init functions [`[a15b75b]`](https://github.com/WolfSoftware/caretaker/commit/a15b75bae917276c83536b1e7e385c1dfb55f55c) [`[TGWolf]`](https://github.com/TGWolf)
21
43
 
22
- - Initial push [`[f74a2c4]`](https://github.com/WolfSoftware/caretaker/commit/f74a2c411bf3339410d6a0f59a981abf6286107e)
44
+ - Initial push [`[f74a2c4]`](https://github.com/WolfSoftware/caretaker/commit/f74a2c411bf3339410d6a0f59a981abf6286107e) [`[TGWolf]`](https://github.com/TGWolf)
23
45
 
data/README.md CHANGED
@@ -24,6 +24,7 @@ Caretaker also has an advanced category mode, which allows it to parse specially
24
24
  * Automatically linking each pull request to the pull request number.
25
25
  * Can run automatically as a post-commit hook.
26
26
  * Ignore commits that are shorter than a specified number of words.
27
+ * Bump verions and tag releases automatically.
27
28
 
28
29
  > For a full list of featues see the section on command line usage.
29
30
 
@@ -46,6 +47,9 @@ Caretaker also has an advanced category mode, which allows it to parse specially
46
47
  * [Category example](#category-example)
47
48
  * [Category list](#category-list)
48
49
  * [Example category output](#example-category-output)
50
+ * [Tagging release versions](#tagging-release-versions)
51
+ * [Release handler snippet](#release-handler-snippet)
52
+ * [Bumping release versions](#bumping-release-versions)
49
53
  * [Caretaker config file](#caretaker-config-file)
50
54
  * [Example config file](#example-config-file)
51
55
  * [Github usernames](#github-usernames)
@@ -67,6 +71,7 @@ Caretaker also has an advanced category mode, which allows it to parse specially
67
71
  * [Contributing to caretaker](#contributing-to-caretaker)
68
72
  * [Setup](#setup)
69
73
  * [Testing](#testing)
74
+ * [To-Do List](#to-do-list)
70
75
  <!--TOCBot-->
71
76
 
72
77
  <a name="installation"></a>
@@ -91,6 +96,7 @@ Usage: caretaker [-h] [-a author] [-c] [-e] [-i] [-o filename] [-r] [-s] [-u] [-
91
96
  | ------ | ------- |:-------------:|
92
97
  | -h or --help | Show the help message | N/A |
93
98
  | -a or --author [Github username] | Specify the author name | |
99
+ | -b or --bump [part] | Bump the VERSION.txt to next version. | |
94
100
  | -c or --config | Generate a .caretaker.cfg config file. | false |
95
101
  | -e or --enable-categories | Enable the splitting of commit messages into categories | false |
96
102
  | -i or --init | Initialise the repo to use caretaker | |
@@ -126,8 +132,8 @@ caretaker
126
132
 
127
133
  res=$(git status --porcelain | grep "${OUTPUT_FILE}" | wc -l)
128
134
  if [[ "${res}" -gt 0 ]]; then
129
- git add "${OUTPUT_FILE}"
130
- git commit --amend --no-edit
135
+ git add "${OUTPUT_FILE}"
136
+ git commit --amend --no-edit
131
137
  end
132
138
  ```
133
139
 
@@ -154,8 +160,8 @@ caretaker -i -e -o HISTORY.md
154
160
 
155
161
  res=$(git status --porcelain | grep "${OUTPUT_FILE}" | wc -l)
156
162
  if [[ "${res}" -gt 0 ]]; then
157
- git add "${OUTPUT_FILE}"
158
- git commit --amend --no-edit
163
+ git add "${OUTPUT_FILE}"
164
+ git commit --amend --no-edit
159
165
  end
160
166
  ```
161
167
 
@@ -228,6 +234,47 @@ All notable changes to this project will be documented in this file.
228
234
  - Created an example without a prefix.
229
235
  ```
230
236
 
237
+ <a name="tagging-release-versions"></a>
238
+ ### Tagging release versions
239
+
240
+ Due to the way that post-commit hooks work, if you were tag a release that tag would either be ignored or worse lost, because the commit ID changes when a 'commit amend' is carried out. In order to get around this problem Caretaker can now tag releases
241
+ for you as part of its push process.
242
+
243
+ The current version is stored in 'VERSION.txt', and it is semantic version string (however it can include an optional v prefix eg v1.0.0). This version is used to 'tag' a release as part of the process. It works be comparing the current tag to the
244
+ one in the file and if they are different it will tag the release with the new version.
245
+
246
+ <a name="release-handler-snippet"></a>
247
+ #### Release handler snippet
248
+
249
+ The following code is a snippet of how the release mechanism works:
250
+
251
+ ```
252
+ if [[ -n $RELEASE_VERSION ]]; then
253
+ git tag "${TAG_VERSION}"
254
+ fi
255
+
256
+ #{cmd}
257
+
258
+ res=$(git status --porcelain | grep "${OUTPUT_FILE}" | wc -l)
259
+ if [[ "${res}" -gt 0 ]]; then
260
+ git add "${OUTPUT_FILE}" >> /dev/null 2>&1
261
+ git commit --amend --no-edit >> /dev/null 2>&1
262
+
263
+ if [[ -n "${RELEASE_VERSION"} ]]; then
264
+ git tag -f "${TAG_VERSION}"
265
+ fi
266
+ fi
267
+ ```
268
+
269
+ As you can see, it will tag the release, run caretaker and re-tag the release after the commit amend, ensuring that the tag persists. This is not a perfect solution, but it does work :)
270
+
271
+ <a name="bumping-release-versions"></a>
272
+ #### Bumping release versions
273
+
274
+ In order to make life as simple as possible the new version of Caretaker comes with a ```--bump``` option, this takes 1 argument of either ```major```, ```minor``` or ```patch``` and will update the version file accordingly.
275
+
276
+ > Note if the version file doesn't exist, it will be created with a default version of v0.1.0
277
+
231
278
  <a name="caretaker-config-file"></a>
232
279
  ### Caretaker config file
233
280
 
@@ -387,6 +434,7 @@ For local testing make sure that you run `bundle exec rspec spec` and then `rake
387
434
 
388
435
  For further information please refer to the [contributing](https://github.com/WolfSoftware/contributing) documentation.
389
436
 
437
+ <a name="to-do-list"></a>
390
438
  # To-Do List
391
439
 
392
440
  - [ ] CLI option to enable/disable linking to commit hashes
data/VERSION.txt ADDED
@@ -0,0 +1 @@
1
+ 0.5.0
data/caretaker.gemspec CHANGED
@@ -23,8 +23,10 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency 'date', '~> 2.0.0'
24
24
  spec.add_development_dependency 'rake', '~> 10.0'
25
25
  spec.add_development_dependency 'rspec', '~> 3.0'
26
+ spec.add_development_dependency 'sem_version', '~> 2.0.1'
26
27
  spec.add_development_dependency 'tty-spinner', '~> 0.9.0'
27
28
 
28
29
  spec.add_runtime_dependency 'date', '~> 2.0.0'
30
+ spec.add_runtime_dependency 'sem_version', '~> 2.0.1'
29
31
  spec.add_runtime_dependency 'tty-spinner', '~> 0.9.0'
30
32
  end
data/exe/caretaker CHANGED
@@ -16,6 +16,7 @@ def send_message_to_caretaker(options)
16
16
  caretaker.init_repo if options[:init]
17
17
  caretaker.generate_config_file if options[:config]
18
18
  caretaker.generate_changelog if options[:generate]
19
+ caretaker.bump_version if options[:bump]
19
20
  rescue StandardError => e
20
21
  puts "Error: #{e}"
21
22
  puts e.backtrace
@@ -45,11 +46,26 @@ def process_arguments
45
46
  exit(1)
46
47
  end
47
48
 
48
- opts.on('-a', '--author string', 'Specify a default author name to use for commits (author name should be your GIthub username)') do |author|
49
+ opts.on('-a', '--author string', 'Specify a default author name to use for commits (author name should be your Github username)') do |author|
49
50
  options[:author] = author
50
51
  end
51
52
 
53
+ opts.on('-b', '--bump string', 'Which part of the version string to bump. (Options: major, minor, patch)') do |bump|
54
+ valid_bumps = ['major', 'minor', 'patch']
55
+
56
+ if valid_bumps.include? bump
57
+ options[:bump] = bump
58
+ options[:config] = false
59
+ options[:generate] = false
60
+ options[:init] = false
61
+ else
62
+ puts "Invalid bump option: #{bump}"
63
+ abort
64
+ end
65
+ end
66
+
52
67
  opts.on('-c', '--config', 'Generate a .caretaker.cfg config file. [default: false]') do
68
+ options[:bump] = false
53
69
  options[:config] = true
54
70
  options[:generate] = false
55
71
  options[:init] = false
@@ -61,6 +77,7 @@ def process_arguments
61
77
  end
62
78
 
63
79
  opts.on('-i', '--init', 'Initialise the repo to use Caretaker') do
80
+ options[:bump] = false
64
81
  options[:config] = false
65
82
  options[:generate] = false
66
83
  options[:init] = true
@@ -1,3 +1,3 @@
1
1
  class Caretaker
2
- VERSION = '0.3.0'.freeze
2
+ VERSION = '0.5.0'.freeze
3
3
  end
data/lib/caretaker.rb CHANGED
@@ -7,6 +7,9 @@ require 'uri'
7
7
  require 'yaml'
8
8
  require 'net/http'
9
9
 
10
+ require 'sem_version'
11
+ require 'sem_version/core_ext'
12
+
10
13
  #
11
14
  # The main caretaker class
12
15
  #
@@ -25,6 +28,13 @@ class Caretaker
25
28
  @github_base_url = 'https://github.com'
26
29
  @spinner_format = :classic
27
30
  @header_file = 'HEADER.md'
31
+ @version_file = 'VERSION.txt'
32
+ @default_version = '0.1.0'
33
+ @default_tag_prefix = 'v'
34
+
35
+ @bump_major = false
36
+ @bump_minor = false
37
+ @bump_patch = false
28
38
 
29
39
  #
30
40
  # Check we are into a git repository - bail out if not
@@ -58,6 +68,9 @@ class Caretaker
58
68
  @silent = options[:silent] unless options[:silent].nil?
59
69
  @verify_urls = options[:verify_urls] unless options[:verify_urls].nil?
60
70
 
71
+ @bump_major = true unless options[:bump].nil? || options[:bump] != 'major'
72
+ @bump_minor = true unless options[:bump].nil? || options[:bump] != 'minor'
73
+ @bump_patch = true unless options[:bump].nil? || options[:bump] != 'patch'
61
74
  #
62
75
  # Work out the url for the git repository (unless for linking)
63
76
  #
@@ -583,26 +596,45 @@ class Caretaker
583
596
  contents = <<~END_OF_SCRIPT
584
597
  #!/usr/bin/env bash
585
598
 
586
- LOCKFILE="#{@repo_base_dir}/.lock"
599
+ LOCK_FILE="#{@repo_base_dir}/.lock"
600
+ OUTPUT_FILE=#{@output_file}
601
+ VERSION_FILE=#{@version_file}
587
602
 
588
- if [[ -f "${LOCKFILE}" ]]; then
603
+ if [[ -f "${LOCK_FILE}" ]]; then
589
604
  exit
590
605
  fi
591
606
 
592
- touch "${LOCKFILE}"
607
+ touch "${LOCK_FILE}"
593
608
 
594
- OUTPUT_FILE="#{@output_file}"
609
+ if [[ -f "${VERSION_FILE}" ]]; then
610
+ RELEASE_VERSION=$(<"${VERSION_FILE}")
611
+ TAG_NAME="v${RELEASE_VERSION}"
612
+
613
+ if GIT_DIR="#{@repo_base_dir}/.git" git tag --list | grep -Eq "^${TAG_NAME}$"; then
614
+ unset RELEASE_VERSION
615
+ unset TAG_NAME
616
+ fi
617
+ fi
618
+
619
+ if [[ -n "${RELEASE_VERSION}" ]]; then
620
+ git tag "${TAG_NAME}"
621
+ fi
595
622
 
596
623
  #{cmd}
597
624
 
598
- res=$(git status --porcelain | grep "${OUTPUT_FILE}" | wc -l)
625
+ res=$(git status --porcelain | grep -c "${OUTPUT_FILE}")
599
626
  if [[ "${res}" -gt 0 ]]; then
627
+
600
628
  git add "${OUTPUT_FILE}" >> /dev/null 2>&1
601
629
  git commit --amend --no-edit >> /dev/null 2>&1
602
- fi
603
630
 
604
- rm -f "${LOCKFILE}"
631
+ if [[ -n "${RELEASE_VERSION}" ]]; then
632
+ git tag -f "${TAG_NAME}"
633
+ fi
634
+
635
+ fi
605
636
 
637
+ rm -f "${LOCK_FILE}"
606
638
  END_OF_SCRIPT
607
639
 
608
640
  start_spinner('Writing Hook')
@@ -689,4 +721,60 @@ END_OF_SCRIPT
689
721
  write_file("#{@repo_base_dir}/#{@config_file}", content, 0o0644)
690
722
  stop_spinner
691
723
  end
724
+
725
+ #
726
+ # Bump the version
727
+ #
728
+ def bump_version
729
+ first_version = false
730
+
731
+ begin
732
+ current = File.read(@version_file)
733
+ rescue SystemCallError
734
+ puts "failed to open #{@version_file} - Default to version #{@default_version} - will NOT bump version"
735
+ current = @default_version
736
+ first_version = true
737
+ end
738
+
739
+ puts "Current Version: #{current}"
740
+
741
+ if current.start_with?(@default_tag_prefix)
742
+ has_prefix = true
743
+ current.slice!(@default_tag_prefix)
744
+ end
745
+
746
+ begin
747
+ v = SemVersion.new(current)
748
+ rescue ArgumentError
749
+ puts "#{current} is not a valid Semantic Version string"
750
+ return
751
+ end
752
+
753
+ if @bump_major && !first_version
754
+ v.major += 1
755
+ v.minor = 0
756
+ v.patch = 0
757
+ end
758
+
759
+ if @bump_minor && !first_version
760
+ v.minor += 1
761
+ v.patch = 0
762
+ end
763
+
764
+ v.patch += 1 if @bump_patch && !first_version
765
+
766
+ version = if has_prefix
767
+ "#{@default_tag_prefix}#{v}"
768
+ else
769
+ v.to_s
770
+ end
771
+
772
+ puts "New Version: #{version}"
773
+
774
+ begin
775
+ File.write(@version_file, version)
776
+ rescue SystemCallError
777
+ puts "Count not write #{VERSION_FILE} - Aborting"
778
+ end
779
+ end
692
780
  end
data/testing/caretaker CHANGED
@@ -19,6 +19,7 @@ def send_message_to_caretaker(options)
19
19
  caretaker.init_repo if options[:init]
20
20
  caretaker.generate_config_file if options[:config]
21
21
  caretaker.generate_changelog if options[:generate]
22
+ caretaker.bump_version if options[:bump]
22
23
  rescue StandardError => e
23
24
  puts "Error: #{e}"
24
25
  puts e.backtrace
@@ -48,11 +49,26 @@ def process_arguments
48
49
  exit(1)
49
50
  end
50
51
 
51
- opts.on('-a', '--author string', 'Specify a default author name to use for commits (author name should be your GIthub username)') do |author|
52
+ opts.on('-a', '--author string', 'Specify a default author name to use for commits (author name should be your Github username)') do |author|
52
53
  options[:author] = author
53
54
  end
54
55
 
56
+ opts.on('-b', '--bump string', 'Which part of the version string to bump. (Options: major, minor, patch)') do |bump|
57
+ valid_bumps = ['major', 'minor', 'patch']
58
+
59
+ if valid_bumps.include? bump
60
+ options[:bump] = bump
61
+ options[:config] = false
62
+ options[:generate] = false
63
+ options[:init] = false
64
+ else
65
+ puts "Invalid bump option: #{bump}"
66
+ abort
67
+ end
68
+ end
69
+
55
70
  opts.on('-c', '--config', 'Generate a .caretaker.cfg config file. [default: false]') do
71
+ options[:bump] = false
56
72
  options[:config] = true
57
73
  options[:generate] = false
58
74
  options[:init] = false
@@ -64,6 +80,7 @@ def process_arguments
64
80
  end
65
81
 
66
82
  opts.on('-i', '--init', 'Initialise the repo to use Caretaker') do
83
+ options[:bump] = false
67
84
  options[:config] = false
68
85
  options[:generate] = false
69
86
  options[:init] = true
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caretaker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Gurney aka Wolf
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-10 00:00:00.000000000 Z
11
+ date: 2020-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '3.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: sem_version
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 2.0.1
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 2.0.1
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: tty-spinner
77
91
  requirement: !ruby/object:Gem::Requirement
@@ -100,6 +114,20 @@ dependencies:
100
114
  - - "~>"
101
115
  - !ruby/object:Gem::Version
102
116
  version: 2.0.0
117
+ - !ruby/object:Gem::Dependency
118
+ name: sem_version
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: 2.0.1
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: 2.0.1
103
131
  - !ruby/object:Gem::Dependency
104
132
  name: tty-spinner
105
133
  requirement: !ruby/object:Gem::Requirement
@@ -134,6 +162,7 @@ files:
134
162
  - LICENSE.md
135
163
  - README.md
136
164
  - Rakefile
165
+ - VERSION.txt
137
166
  - bin/console
138
167
  - bin/setup
139
168
  - caretaker.gemspec