milestoner 3.0.0 → 4.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9aa59dc5b98238b6b0f20689142e7926443d0fd8
4
- data.tar.gz: 87653a11e6ecf0f2f74f605188ebe20ac63c1ab7
3
+ metadata.gz: d59ec9f24097f54832599544a5de919b79c5820f
4
+ data.tar.gz: da3aed2ba4636234804e21a9af13a1133d3e17bd
5
5
  SHA512:
6
- metadata.gz: 38595bb8f085651035d26b5440cd86e1656a4b35acdfaf7e8ab788cd7cca5a7047cf8813d16fba0eabc4f59756fcb17903254bad7541d33903204a8a90ab2f49
7
- data.tar.gz: ccdf5a94d6b5189cfc2555e1bab248fcbe0bb9ad1869f3ba015518ce12e43e2b2bc6ca1911a8d31434f986c68f33c8898dc1dbc7e14a0db273e19b3bd5b09f5d
6
+ metadata.gz: 4c66221673d33f7b09c96b57736bc62b44df5746bb493ec1c7db2a63e441f4b3ceb8db001a53479621963e2138543c19dbd6fbd68f4e4d68ed63c8b7e0ec8bca
7
+ data.tar.gz: d1b34c04978f023e475c94a948def99ae4177723dd2387de0fc5c8cb1d24fde235b42290818c98c0a026c9f42738757806549515b2b258d853604dd1400ff579
Binary file
data.tar.gz.sig CHANGED
@@ -1,2 +1,5 @@
1
- m�ۖ����8s��Q�&�g�΍TM[읂�)�9��хF�02���?���6 g���~�����:���"�o��Sؕ
2
- �E���/����DT�U$zjlUo���+��m[�#�}o�P�f�%����Q
1
+ G�7
2
+ `<xC$<��(w~��zF$d��܄t���g'�^0*��^] Z�?CK!�U�Ă�g� �>, �ʫv�,��I��c�|�- x�P>���=Y:
3
+ ��9�n��A�s��.Q%jiP^�ė�q�~���9b8(ߘ���t;����
4
+ k�=���Bx����h�%��_�kfEVT�b'���U 2�N .'�
5
+ p�єH�(({K E�e�J$^��dR�m
data/README.md CHANGED
@@ -33,12 +33,14 @@ A command line interface for releasing Git repository milestones.
33
33
 
34
34
  # Features
35
35
 
36
- - Uses [Versionaire](https://github.com/bkuhlmann/versionaire) for [Semantic Versioning](http://semver.org).
36
+ - Uses [Versionaire](https://github.com/bkuhlmann/versionaire) for
37
+ [Semantic Versioning](http://semver.org).
37
38
  - Format: `v<major>.<minor>.<maintenance>`.
38
39
  - Example: `v0.1.0`.
39
- - Ensures Git commits since last tag (or initialization of repository) are included within each Git tag message.
40
- - Ensures Git commit messages are grouped by prefix, in order defined, for each Git tag message. Prefix defaults (can be
41
- customized):
40
+ - Ensures Git commits since last tag (or initialization of repository) are included within each Git
41
+ tag message.
42
+ - Ensures Git commit messages are grouped by prefix, in order defined, for each Git tag message.
43
+ Defaults (can be customized):
42
44
  - Fixed
43
45
  - Added
44
46
  - Updated
@@ -47,12 +49,13 @@ A command line interface for releasing Git repository milestones.
47
49
  - Ensures Git commit merge messages are excluded within each Git tag message.
48
50
  - Ensures Git commit messages are alphabetically sorted within each Git tag message.
49
51
  - Ensures duplicate Git commit messages are removed (if any) within each Git tag message.
50
- - Ensures Git commit messages are sanitized by removing extra spaces and `[ci skip]` text within each Git tag message.
52
+ - Ensures Git commit messages are sanitized by removing extra spaces and `[ci skip]` text within
53
+ each Git tag message.
51
54
  - Provides optional security for signing Git tags with [GnuPG](https://www.gnupg.org) signing key.
52
55
 
53
56
  # Screencasts
54
57
 
55
- [![asciicast](https://asciinema.org/a/41207.png)](https://asciinema.org/a/41207)
58
+ [![asciicast](https://asciinema.org/a/91752.png)](https://asciinema.org/a/91752)
56
59
 
57
60
  # Requirements
58
61
 
@@ -67,8 +70,9 @@ For a secure install, type the following (recommended):
67
70
  gem cert --add <(curl --location --silent https://www.alchemists.io/gem-public.pem)
68
71
  gem install milestoner --trust-policy MediumSecurity
69
72
 
70
- NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification while
71
- allowing the installation of unsigned dependencies since they are beyond the scope of this gem.
73
+ NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification
74
+ while allowing the installation of unsigned dependencies since they are beyond the scope of this
75
+ gem.
72
76
 
73
77
  For an insecure install, type the following (not recommended):
74
78
 
@@ -81,16 +85,17 @@ For an insecure install, type the following (not recommended):
81
85
  From the command line, type: `milestoner help`
82
86
 
83
87
  milestoner -C, [--commits] # Show commits for next milestone.
84
- milestoner -P, [--publish=PUBLISH] # Tag and push milestone to remote repository.
85
- milestoner -c, [--config] # Show/manage gem configuration.
86
- milestoner -h, [--help=HELP] # Show this message or get help for a command.
88
+ milestoner -P, [--publish=VERSION] # Tag and push milestone to remote repository.
89
+ milestoner -c, [--config] # Manage gem configuration.
90
+ milestoner -h, [--help=COMMAND] # Show this message or get help for a command.
87
91
  milestoner -p, [--push] # Push local tag to remote repository.
88
- milestoner -t, [--tag=TAG] # Tag local repository with new version.
92
+ milestoner -t, [--tag=VERSION] # Tag local repository with new version.
89
93
  milestoner -v, [--version] # Show gem version.
90
94
 
91
95
  For config options, type: `milestoner help --config`
92
96
 
93
97
  -e, [--edit], [--no-edit] # Edit gem configuration.
98
+ -i, [--info], [--no-info] # Print gem configuration info.
94
99
 
95
100
  For tag options, type: `milestoner help --tag`
96
101
 
@@ -100,14 +105,14 @@ For publish options, type: `milestoner help --publish`
100
105
 
101
106
  -s, [--sign], [--no-sign] # Sign tag with GPG key.
102
107
 
103
- When using Milestoner, the `--publish` command is intended to be the only command necessary for publishing a new release
104
- as it handles all of the steps necessary for tagging and pushing a new milestone. Should individual steps be needed,
105
- then the `--tag` and `--push` options are available.
108
+ When using Milestoner, the `--publish` command is intended to be the only command necessary for
109
+ publishing a new release as it handles all of the steps necessary for tagging and pushing a new
110
+ milestone. Should individual steps be needed, then the `--tag` and `--push` options are available.
106
111
 
107
112
  ## Customization
108
113
 
109
- Should the default settings not be desired, customization is allowed via the `.milestonerrc` file. The `.milestonerrc`
110
- can be created at a global and/or local level. Example:
114
+ Should the default settings not be desired, customization is allowed via the `.milestonerrc` file.
115
+ The `.milestonerrc` can be created at a global and/or local level. Example:
111
116
 
112
117
  - Global: `~/.milestonerrc`
113
118
  - Local: `<project repository root>/.milestonerrc`
@@ -118,10 +123,11 @@ Order of precedence for any setting is resolved as follows (with the last taking
118
123
  0. Local project repository `.milestonerrc`.
119
124
  0. CLI option. Example: A version passed to either the `--tag` or `--publish` commands.
120
125
 
121
- Any setting provided to the CLI during runtime would trump a local/global setting and a local setting would trump a
122
- global setting. The global setting is the weakest of all but great for situations where custom settings should be
123
- applied to *all* projects. It is important to note that local settings completely trump any global settings -- there is
124
- no inheritance when local *and* global settings exist at the same time.
126
+ Any setting provided to the CLI during runtime would trump a local/global setting and a local
127
+ setting would trump a global setting. The global setting is the weakest of all but great for
128
+ situations where custom settings should be applied to *all* projects. It is important to note that
129
+ local settings completely trump any global settings -- there is no inheritance when local *and*
130
+ global settings exist at the same time.
125
131
 
126
132
  The `.milestonerrc` uses the following default settings:
127
133
 
@@ -136,16 +142,19 @@ The `.milestonerrc` uses the following default settings:
136
142
 
137
143
  Each `.milestonerrc` setting can be configured as follows:
138
144
 
139
- - `version`: Useful if desired to have the current version checked into source code per project. The version, if set,
140
- will be used to tag the repository. If the version is a duplicate, an error will be thrown. When supplying a version,
141
- it *must* be semantic: `<major>.<minor>.<maintenance>`. Example: `0.1.0`.
142
- - `git_commit_prefixes`: Should the default prefixes not be desired, you can define Git commit prefixes that match your
143
- style. *NOTE: Prefix order is important with the first prefix defined taking precedence over the second and so forth.*
144
- Special characters are allowed for prefixes but should be enclosed in quotes if used. To disable prefix usage
145
- completely, use an empty array. Example: `:git_commit_prefixes: []`.
146
- - `git_tag_sign`: Defaults to `false` but can be enabled by setting to `true`. When enabled, a Git tag will require GPG
147
- signing for enhanced security and include a signed signature as part of the Git tag. This is useful for public
148
- milestones where the author of a milestone can be verified to ensure milestone integrity/security.
145
+ - `version`: Useful if desired to have the current version checked into source code per project. The
146
+ version, if set, will be used to tag the repository. If the version is a duplicate, an error will
147
+ be thrown. When supplying a version, it *must* be semantic: `<major>.<minor>.<maintenance>`.
148
+ Example: `0.1.0`.
149
+ - `git_commit_prefixes`: Should the default prefixes not be desired, you can define Git commit
150
+ prefixes that match your style. *NOTE: Prefix order is important with the first prefix defined
151
+ taking precedence over the second and so forth.* Special characters are allowed for prefixes but
152
+ should be enclosed in quotes if used. To disable prefix usage completely, use an empty array.
153
+ Example: `:git_commit_prefixes: []`.
154
+ - `git_tag_sign`: Defaults to `false` but can be enabled by setting to `true`. When enabled, a Git
155
+ tag will require GPG signing for enhanced security and include a signed signature as part of the
156
+ Git tag. This is useful for public milestones where the author of a milestone can be verified to
157
+ ensure milestone integrity/security.
149
158
 
150
159
  # Security
151
160
 
@@ -172,8 +181,9 @@ Add your key to your global Git configuration in the `[user]` section. Example:
172
181
  [user]
173
182
  signingkey = <your GPG key>
174
183
 
175
- Now, when publishing a new milestone (i.e. `milestoner --publish <version> --sign`), signing of your Git tag will happen
176
- automatically. You will be prompted for the GPG Passphrase each time but that is to be expected.
184
+ Now, when publishing a new milestone (i.e. `milestoner --publish <version> --sign`), signing of your
185
+ Git tag will happen automatically. You will be prompted for the GPG Passphrase each time but that is
186
+ to be expected.
177
187
 
178
188
  # Tests
179
189
 
@@ -185,14 +195,14 @@ To test, run:
185
195
 
186
196
  Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
187
197
 
188
- - Patch (x.y.Z) - Incremented for small, backwards compatible bug fixes.
189
- - Minor (x.Y.z) - Incremented for new, backwards compatible public API enhancements and/or bug fixes.
198
+ - Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
199
+ - Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
190
200
  - Major (X.y.z) - Incremented for any backwards incompatible public API changes.
191
201
 
192
202
  # Code of Conduct
193
203
 
194
- Please note that this project is released with a [CODE OF CONDUCT](CODE_OF_CONDUCT.md). By participating in this project
195
- you agree to abide by its terms.
204
+ Please note that this project is released with a [CODE OF CONDUCT](CODE_OF_CONDUCT.md). By
205
+ participating in this project you agree to abide by its terms.
196
206
 
197
207
  # Contributions
198
208
 
@@ -201,13 +211,14 @@ Read [CONTRIBUTING](CONTRIBUTING.md) for details.
201
211
  # License
202
212
 
203
213
  Copyright (c) 2015 [Alchemists](https://www.alchemists.io).
204
- Read the [LICENSE](LICENSE.md) for details.
214
+ Read [LICENSE](LICENSE.md) for details.
205
215
 
206
216
  # History
207
217
 
208
- Read the [CHANGELOG](CHANGELOG.md) for details.
218
+ Read [CHANGES](CHANGES.md) for details.
209
219
  Built with [Gemsmith](https://github.com/bkuhlmann/gemsmith).
210
220
 
211
221
  # Credits
212
222
 
213
- Developed by [Brooke Kuhlmann](https://www.alchemists.io) at [Alchemists](https://www.alchemists.io).
223
+ Developed by [Brooke Kuhlmann](https://www.alchemists.io) at
224
+ [Alchemists](https://www.alchemists.io).
@@ -1,4 +1,5 @@
1
1
  #! /usr/bin/ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "milestoner"
4
5
  require "milestoner/cli"
@@ -1,11 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "milestoner/errors/base"
4
- require "milestoner/errors/configuration"
5
4
  require "milestoner/errors/duplicate_tag"
6
5
  require "milestoner/errors/git"
7
- require "milestoner/errors/version"
8
- require "milestoner/configuration"
9
6
  require "milestoner/git"
10
7
  require "milestoner/identity"
11
8
  require "milestoner/publisher"
@@ -4,6 +4,7 @@ require "yaml"
4
4
  require "thor"
5
5
  require "thor/actions"
6
6
  require "thor_plus/actions"
7
+ require "runcom"
7
8
 
8
9
  module Milestoner
9
10
  # The Command Line Interface (CLI) for the gem.
@@ -13,27 +14,36 @@ module Milestoner
13
14
 
14
15
  package_name Identity.version_label
15
16
 
17
+ def self.defaults
18
+ {
19
+ version: "0.1.0",
20
+ git_commit_prefixes: %w[Fixed Added Updated Removed Refactored],
21
+ git_tag_sign: false
22
+ }
23
+ end
24
+
25
+ # rubocop:disable Metrics/AbcSize
16
26
  def initialize args = [], options = {}, config = {}
17
27
  super args, options, config
18
- @configuration = Configuration.new Identity.file_name, defaults: defaults
19
- @tagger = Tagger.new configuration.settings[:version],
20
- commit_prefixes: configuration.settings[:git_commit_prefixes]
28
+ @configuration = Runcom::Configuration.new file_name: Identity.file_name, defaults: self.class.defaults
29
+ @tagger = Tagger.new configuration.to_h[:version],
30
+ commit_prefixes: configuration.to_h[:git_commit_prefixes]
21
31
  @pusher = Pusher.new
22
32
  @publisher = Publisher.new tagger: tagger, pusher: pusher
23
33
  end
24
34
 
25
35
  desc "-C, [--commits]", "Show commits for next milestone."
26
- map %w(-C --commits) => :commits
36
+ map %w[-C --commits] => :commits
27
37
  def commits
28
38
  tagger.commit_list.each { |commit| say commit }
29
39
  rescue StandardError => exception
30
40
  error exception.message
31
41
  end
32
42
 
33
- desc "-t, [--tag=TAG]", "Tag local repository with new version."
34
- map %w(-t --tag) => :tag
43
+ desc "-t, [--tag=VERSION]", "Tag local repository with new version."
44
+ map %w[-t --tag] => :tag
35
45
  method_option :sign, aliases: "-s", desc: "Sign tag with GPG key.", type: :boolean, default: false
36
- def tag version = configuration.settings[:version]
46
+ def tag version = configuration.to_h[:version]
37
47
  tagger.create version, sign: sign_tag?(options[:sign])
38
48
  say "Repository tagged: #{tagger.version_label}."
39
49
  rescue StandardError => exception
@@ -41,7 +51,7 @@ module Milestoner
41
51
  end
42
52
 
43
53
  desc "-p, [--push]", "Push local tag to remote repository."
44
- map %w(-p --push) => :push
54
+ map %w[-p --push] => :push
45
55
  def push
46
56
  pusher.push
47
57
  info "Tags pushed to remote repository."
@@ -49,10 +59,10 @@ module Milestoner
49
59
  error exception.message
50
60
  end
51
61
 
52
- desc "-P, [--publish=PUBLISH]", "Tag and push milestone to remote repository."
53
- map %w(-P --publish) => :publish
62
+ desc "-P, [--publish=VERSION]", "Tag and push milestone to remote repository."
63
+ map %w[-P --publish] => :publish
54
64
  method_option :sign, aliases: "-s", desc: "Sign tag with GPG key.", type: :boolean, default: false
55
- def publish version = configuration.settings[:version]
65
+ def publish version = configuration.to_h[:version]
56
66
  publisher.publish version, sign: sign_tag?(options[:sign])
57
67
  info "Repository tagged and pushed: #{tagger.version_label}."
58
68
  info "Milestone published!"
@@ -60,51 +70,35 @@ module Milestoner
60
70
  error exception.message
61
71
  end
62
72
 
63
- desc "-c, [--config]", "Show/manage gem configuration."
64
- map %w(-c --config) => :config
73
+ desc "-c, [--config]", "Manage gem configuration."
74
+ map %w[-c --config] => :config
65
75
  method_option :edit, aliases: "-e", desc: "Edit gem configuration.", type: :boolean, default: false
76
+ method_option :info, aliases: "-i", desc: "Print gem configuration info.", type: :boolean, default: false
66
77
  def config
67
- if options[:edit]
68
- `#{editor} #{configuration.computed_file_path}`
69
- else
70
- print_config_info
78
+ if options.edit? then `#{editor} #{configuration.computed_path}`
79
+ elsif options.info? then say("Using: #{configuration.computed_path}.")
80
+ else help(:config)
71
81
  end
72
82
  end
73
83
 
74
84
  desc "-v, [--version]", "Show gem version."
75
- map %w(-v --version) => :version
85
+ map %w[-v --version] => :version
76
86
  def version
77
87
  say Identity.version_label
78
88
  end
79
89
 
80
- desc "-h, [--help=HELP]", "Show this message or get help for a command."
81
- map %w(-h --help) => :help
90
+ desc "-h, [--help=COMMAND]", "Show this message or get help for a command."
91
+ map %w[-h --help] => :help
82
92
  def help task = nil
83
- say && super
93
+ say and super
84
94
  end
85
95
 
86
96
  private
87
97
 
88
98
  attr_reader :configuration, :tagger, :pusher, :publisher
89
99
 
90
- def defaults
91
- {
92
- version: "0.1.0",
93
- git_commit_prefixes: %w(Fixed Added Updated Removed Refactored),
94
- git_tag_sign: false
95
- }
96
- end
97
-
98
100
  def sign_tag? sign
99
- sign | configuration.settings[:git_tag_sign]
100
- end
101
-
102
- def print_config_info
103
- case
104
- when configuration.local? then say("Use local configuration: #{configuration.computed_file_path}.")
105
- when configuration.global? then say("Using global configuration: #{configuration.computed_file_path}.")
106
- else say("Global and local gem configuration not defined, using defaults instead.")
107
- end
101
+ sign | configuration.to_h[:git_tag_sign]
108
102
  end
109
103
  end
110
104
  end
@@ -12,7 +12,7 @@ module Milestoner
12
12
  end
13
13
 
14
14
  def self.version
15
- "3.0.0"
15
+ "4.0.0"
16
16
  end
17
17
 
18
18
  def self.version_label
@@ -20,7 +20,7 @@ module Milestoner
20
20
  end
21
21
 
22
22
  def commit_prefix_regex
23
- return // if commit_prefixes.empty?
23
+ return Regexp.new("") if commit_prefixes.empty?
24
24
  Regexp.union commit_prefixes
25
25
  end
26
26
 
@@ -65,12 +65,21 @@ module Milestoner
65
65
 
66
66
  attr_reader :git
67
67
 
68
- def raw_commits
69
- log_command = "git log --oneline --no-merges --format='%s'"
70
- tag_command = "$(git describe --abbrev=0 --tags --always)..HEAD"
71
- commits_command = tagged? ? "#{log_command} #{tag_command}" : log_command
68
+ def git_log_command
69
+ "git log --oneline --no-merges --format='%s'"
70
+ end
71
+
72
+ def git_tag_command
73
+ "$(git describe --abbrev=0 --tags --always)..HEAD"
74
+ end
72
75
 
73
- `#{commits_command}`.split("\n")
76
+ def git_commits_command
77
+ return "#{git_log_command} #{git_tag_command}" if tagged?
78
+ git_log_command
79
+ end
80
+
81
+ def raw_commits
82
+ `#{git_commits_command}`.split("\n")
74
83
  end
75
84
 
76
85
  def build_commit_prefix_groups
@@ -107,7 +116,8 @@ module Milestoner
107
116
  def git_tag sign: false
108
117
  message_file = Tempfile.new Identity.name
109
118
  File.open(message_file, "w") { |file| file.write git_message }
110
- `git tag #{git_options message_file, sign: sign}`
119
+ status = system "git tag #{git_options message_file, sign: sign}"
120
+ fail(Errors::Git, "Unable to create tag: #{version.label}.") unless status
111
121
  ensure
112
122
  message_file.close
113
123
  message_file.unlink
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require "rspec/core/rake_task"
3
5
  RSpec::Core::RakeTask.new(:spec)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require "rubocop/rake_task"
3
5
  RuboCop::RakeTask.new
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: milestoner
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -12,25 +12,25 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZicm9v
14
14
  a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
15
- aW8wHhcNMTUwNzA1MTQ1MzExWhcNMTYwNzA0MTQ1MzExWjBBMQ8wDQYDVQQDDAZi
15
+ aW8wHhcNMTYxMDE5MTY0NDEzWhcNMTcxMDE5MTY0NDEzWjBBMQ8wDQYDVQQDDAZi
16
16
  cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
17
- GRYCaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzhOVcvLGBCceM
18
- PppVpJLUKsnskWzc1VqBXmv30feKNw+MOxMQaDsIP421qwqGO/2JHY60Kuobssk+
19
- 8/wqZkVFF/FFKxoQjuhlhc+VWLm8jWgXd4N1kwO2yytscQTzxc5qXarwA+36fqVH
20
- RhBAHhjka+HdBI+6o3CXRHJoC47iav+QpR7u/wYl3gNq6MJO3MmTKqHegEDLjRN0
21
- FJAr3bRAwq03ZtTuAVA2bdKLGThehe1RRRtJHJ/PHpmL2c203/GTXYtG6C8ILZIp
22
- ZroTqQ8yglCJ+3hSOmodZqSAQ0Rj7GJgtuNH81qlSrHu5sTvoZjGmEqSIhvsSJ80
23
- wKoPdZnFAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
24
- BBSUnF478a5lB4xuOBiktJdMJv6JmDAfBgNVHREEGDAWgRRicm9va2VAYWxjaGVt
17
+ GRYCaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgryPL4/IbWDcL
18
+ fnqpnoJALqj+ega7hSsvvD8sac57HPNLeKcOmSafFiQLAnTmmE132ZlFc8kyZRVn
19
+ zmqSESowO5jd+ggFuy1ySqQJXhwgik04KedKRUjpIDZePrjw+M5UJT1qzKCKL2xI
20
+ nx5cOKP1fSWJ1RRu8JhaDeSloGtYMdw2c28wnKPNIsWDood4xhbLcY9IqeISft2e
21
+ oTAHTHandHbvt24X3/n67ceNjLBbsVZPXCC1C8C8ccjHjA4Tm2uiFoDwThMcPggg
22
+ 90H6fh0vLFcNAobdPEchbge8tWtfmMPz2+C4yklANn81GA+ANsBS1uwx6mxJoMQU
23
+ BNVp0aLvAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
24
+ BBRS85Rn1BaqeIONByw4t46DMDMzHDAfBgNVHREEGDAWgRRicm9va2VAYWxjaGVt
25
25
  aXN0cy5pbzAfBgNVHRIEGDAWgRRicm9va2VAYWxjaGVtaXN0cy5pbzANBgkqhkiG
26
- 9w0BAQUFAAOCAQEAT7KtBXWsq1KA7NOSMeFEDeSvhrgdLwCG/37pIu0rjvx9iAW4
27
- gncxV0MccqIUtaF+lekjlXkIO+rXAVjvdha23KtpFTW90dYXp4NLPnPlSdyvYzJy
28
- FIAaWGvujOT8xEu4umd45q5aepE8li4bR071i5Z7F0trKNVYYrxjQFmH5SSKYRT/
29
- fXtICtAh1de3z3SOSK58IMPwjuoApYBxiqlmx0Uhla7mrzCE5+NmLPit3hLH6JFK
30
- aSif+qBc6oHD7EQWPF5cZkzkIURuwNwPBngZGxIKaMAgRhjGFXzUMAaq++r59cS9
31
- xTfQ4k6fglKEgpnLAXiKdo2c8Ym+X4rIKFfedQ==
26
+ 9w0BAQUFAAOCAQEAZMb57Y4wdpbX8XxTukEO7VC1pndccUsxdbziGsAOiuHET3Aq
27
+ ygLvrfdYrN88/w+qxncW5bxbO3a6UGkuhIFUPM8zRSE/rh6bCcJljTJrExVt42eV
28
+ aYCb7WJNsx3eNXHn3uQodq3tD+lmNJzz2bFeT3smGSKEnALBjqorO/2mpDh4FJ3S
29
+ 4CcDYsJ1ywep8LDJDBBGdKz9moL+axryzpeTpgTT/fFYFzRzWrURPyDvPOikh9TX
30
+ n/LUZ1dKhIHzfKx1B4+TEIefArObGfkLIDM8+Dq1RX7TF1k81Men7iu4MgE9bYBn
31
+ 3dE+xI3FdB5gWcdWxdtgRCmWjtXeYYyb4z6NQQ==
32
32
  -----END CERTIFICATE-----
33
- date: 2016-04-04 00:00:00.000000000 Z
33
+ date: 2016-11-05 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: thor
@@ -52,323 +52,225 @@ dependencies:
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '3.0'
55
+ version: '4.0'
56
56
  type: :runtime
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '3.0'
62
+ version: '4.0'
63
63
  - !ruby/object:Gem::Dependency
64
- name: versionaire
64
+ name: runcom
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '1.1'
69
+ version: '0.2'
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '1.1'
76
+ version: '0.2'
77
77
  - !ruby/object:Gem::Dependency
78
- name: rake
78
+ name: versionaire
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ">="
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '0'
84
- type: :development
83
+ version: '2.0'
84
+ type: :runtime
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ">="
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '0'
90
+ version: '2.0'
91
91
  - !ruby/object:Gem::Dependency
92
- name: gemsmith
92
+ name: rake
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '7.0'
97
+ version: '11.0'
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '7.0'
104
+ version: '11.0'
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: pry
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ">="
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '0'
111
+ version: '0.10'
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ">="
116
+ - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '0'
118
+ version: '0.10'
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: pry-byebug
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- type: :development
127
- prerelease: false
128
- version_requirements: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- - !ruby/object:Gem::Dependency
134
- name: pry-remote
135
- requirement: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
123
+ - - "~>"
138
124
  - !ruby/object:Gem::Version
139
- version: '0'
125
+ version: '3.4'
140
126
  type: :development
141
127
  prerelease: false
142
128
  version_requirements: !ruby/object:Gem::Requirement
143
129
  requirements:
144
- - - ">="
130
+ - - "~>"
145
131
  - !ruby/object:Gem::Version
146
- version: '0'
132
+ version: '3.4'
147
133
  - !ruby/object:Gem::Dependency
148
134
  name: pry-state
149
135
  requirement: !ruby/object:Gem::Requirement
150
136
  requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
- type: :development
155
- prerelease: false
156
- version_requirements: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: '0'
161
- - !ruby/object:Gem::Dependency
162
- name: pry-rescue
163
- requirement: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: '0'
168
- type: :development
169
- prerelease: false
170
- version_requirements: !ruby/object:Gem::Requirement
171
- requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- version: '0'
175
- - !ruby/object:Gem::Dependency
176
- name: pry-stack_explorer
177
- requirement: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - ">="
137
+ - - "~>"
180
138
  - !ruby/object:Gem::Version
181
- version: '0'
139
+ version: '0.1'
182
140
  type: :development
183
141
  prerelease: false
184
142
  version_requirements: !ruby/object:Gem::Requirement
185
143
  requirements:
186
- - - ">="
144
+ - - "~>"
187
145
  - !ruby/object:Gem::Version
188
- version: '0'
146
+ version: '0.1'
189
147
  - !ruby/object:Gem::Dependency
190
148
  name: bond
191
149
  requirement: !ruby/object:Gem::Requirement
192
150
  requirements:
193
- - - ">="
151
+ - - "~>"
194
152
  - !ruby/object:Gem::Version
195
- version: '0'
153
+ version: '0.5'
196
154
  type: :development
197
155
  prerelease: false
198
156
  version_requirements: !ruby/object:Gem::Requirement
199
157
  requirements:
200
- - - ">="
158
+ - - "~>"
201
159
  - !ruby/object:Gem::Version
202
- version: '0'
160
+ version: '0.5'
203
161
  - !ruby/object:Gem::Dependency
204
162
  name: wirb
205
163
  requirement: !ruby/object:Gem::Requirement
206
164
  requirements:
207
- - - ">="
165
+ - - "~>"
208
166
  - !ruby/object:Gem::Version
209
- version: '0'
167
+ version: '2.0'
210
168
  type: :development
211
169
  prerelease: false
212
170
  version_requirements: !ruby/object:Gem::Requirement
213
171
  requirements:
214
- - - ">="
172
+ - - "~>"
215
173
  - !ruby/object:Gem::Version
216
- version: '0'
174
+ version: '2.0'
217
175
  - !ruby/object:Gem::Dependency
218
176
  name: hirb
219
177
  requirement: !ruby/object:Gem::Requirement
220
178
  requirements:
221
- - - ">="
179
+ - - "~>"
222
180
  - !ruby/object:Gem::Version
223
- version: '0'
181
+ version: '0.7'
224
182
  type: :development
225
183
  prerelease: false
226
184
  version_requirements: !ruby/object:Gem::Requirement
227
185
  requirements:
228
- - - ">="
186
+ - - "~>"
229
187
  - !ruby/object:Gem::Version
230
- version: '0'
188
+ version: '0.7'
231
189
  - !ruby/object:Gem::Dependency
232
190
  name: awesome_print
233
191
  requirement: !ruby/object:Gem::Requirement
234
192
  requirements:
235
- - - ">="
193
+ - - "~>"
236
194
  - !ruby/object:Gem::Version
237
- version: '0'
195
+ version: '1.7'
238
196
  type: :development
239
197
  prerelease: false
240
198
  version_requirements: !ruby/object:Gem::Requirement
241
199
  requirements:
242
- - - ">="
200
+ - - "~>"
243
201
  - !ruby/object:Gem::Version
244
- version: '0'
202
+ version: '1.7'
245
203
  - !ruby/object:Gem::Dependency
246
204
  name: rspec
247
205
  requirement: !ruby/object:Gem::Requirement
248
206
  requirements:
249
- - - ">="
250
- - !ruby/object:Gem::Version
251
- version: '0'
252
- type: :development
253
- prerelease: false
254
- version_requirements: !ruby/object:Gem::Requirement
255
- requirements:
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- version: '0'
259
- - !ruby/object:Gem::Dependency
260
- name: rb-fsevent
261
- requirement: !ruby/object:Gem::Requirement
262
- requirements:
263
- - - ">="
207
+ - - "~>"
264
208
  - !ruby/object:Gem::Version
265
- version: '0'
209
+ version: '3.5'
266
210
  type: :development
267
211
  prerelease: false
268
212
  version_requirements: !ruby/object:Gem::Requirement
269
213
  requirements:
270
- - - ">="
214
+ - - "~>"
271
215
  - !ruby/object:Gem::Version
272
- version: '0'
216
+ version: '3.5'
273
217
  - !ruby/object:Gem::Dependency
274
218
  name: guard-rspec
275
219
  requirement: !ruby/object:Gem::Requirement
276
220
  requirements:
277
- - - ">="
278
- - !ruby/object:Gem::Version
279
- version: '0'
280
- type: :development
281
- prerelease: false
282
- version_requirements: !ruby/object:Gem::Requirement
283
- requirements:
284
- - - ">="
285
- - !ruby/object:Gem::Version
286
- version: '0'
287
- - !ruby/object:Gem::Dependency
288
- name: terminal-notifier
289
- requirement: !ruby/object:Gem::Requirement
290
- requirements:
291
- - - ">="
292
- - !ruby/object:Gem::Version
293
- version: '0'
294
- type: :development
295
- prerelease: false
296
- version_requirements: !ruby/object:Gem::Requirement
297
- requirements:
298
- - - ">="
299
- - !ruby/object:Gem::Version
300
- version: '0'
301
- - !ruby/object:Gem::Dependency
302
- name: terminal-notifier-guard
303
- requirement: !ruby/object:Gem::Requirement
304
- requirements:
305
- - - ">="
221
+ - - "~>"
306
222
  - !ruby/object:Gem::Version
307
- version: '0'
223
+ version: '4.7'
308
224
  type: :development
309
225
  prerelease: false
310
226
  version_requirements: !ruby/object:Gem::Requirement
311
227
  requirements:
312
- - - ">="
228
+ - - "~>"
313
229
  - !ruby/object:Gem::Version
314
- version: '0'
230
+ version: '4.7'
315
231
  - !ruby/object:Gem::Dependency
316
232
  name: climate_control
317
233
  requirement: !ruby/object:Gem::Requirement
318
234
  requirements:
319
- - - ">="
320
- - !ruby/object:Gem::Version
321
- version: '0'
322
- type: :development
323
- prerelease: false
324
- version_requirements: !ruby/object:Gem::Requirement
325
- requirements:
326
- - - ">="
327
- - !ruby/object:Gem::Version
328
- version: '0'
329
- - !ruby/object:Gem::Dependency
330
- name: greenletters
331
- requirement: !ruby/object:Gem::Requirement
332
- requirements:
333
- - - ">="
235
+ - - "~>"
334
236
  - !ruby/object:Gem::Version
335
- version: '0'
237
+ version: '0.0'
336
238
  type: :development
337
239
  prerelease: false
338
240
  version_requirements: !ruby/object:Gem::Requirement
339
241
  requirements:
340
- - - ">="
242
+ - - "~>"
341
243
  - !ruby/object:Gem::Version
342
- version: '0'
244
+ version: '0.0'
343
245
  - !ruby/object:Gem::Dependency
344
246
  name: rubocop
345
247
  requirement: !ruby/object:Gem::Requirement
346
248
  requirements:
347
- - - ">="
249
+ - - "~>"
348
250
  - !ruby/object:Gem::Version
349
- version: '0'
251
+ version: '0.45'
350
252
  type: :development
351
253
  prerelease: false
352
254
  version_requirements: !ruby/object:Gem::Requirement
353
255
  requirements:
354
- - - ">="
256
+ - - "~>"
355
257
  - !ruby/object:Gem::Version
356
- version: '0'
258
+ version: '0.45'
357
259
  - !ruby/object:Gem::Dependency
358
260
  name: codeclimate-test-reporter
359
261
  requirement: !ruby/object:Gem::Requirement
360
262
  requirements:
361
- - - ">="
263
+ - - "~>"
362
264
  - !ruby/object:Gem::Version
363
- version: '0'
265
+ version: '0.6'
364
266
  type: :development
365
267
  prerelease: false
366
268
  version_requirements: !ruby/object:Gem::Requirement
367
269
  requirements:
368
- - - ">="
270
+ - - "~>"
369
271
  - !ruby/object:Gem::Version
370
- version: '0'
371
- description: A command line interface for releasing Git repository milestones.
272
+ version: '0.6'
273
+ description:
372
274
  email:
373
275
  - brooke@alchemists.io
374
276
  executables:
@@ -383,18 +285,14 @@ files:
383
285
  - bin/milestoner
384
286
  - lib/milestoner.rb
385
287
  - lib/milestoner/cli.rb
386
- - lib/milestoner/configuration.rb
387
288
  - lib/milestoner/errors/base.rb
388
- - lib/milestoner/errors/configuration.rb
389
289
  - lib/milestoner/errors/duplicate_tag.rb
390
290
  - lib/milestoner/errors/git.rb
391
- - lib/milestoner/errors/version.rb
392
291
  - lib/milestoner/git.rb
393
292
  - lib/milestoner/identity.rb
394
293
  - lib/milestoner/publisher.rb
395
294
  - lib/milestoner/pusher.rb
396
295
  - lib/milestoner/tagger.rb
397
- - lib/tasks/console.rake
398
296
  - lib/tasks/rspec.rake
399
297
  - lib/tasks/rubocop.rake
400
298
  homepage: https://github.com/bkuhlmann/milestoner
@@ -417,7 +315,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
417
315
  version: '0'
418
316
  requirements: []
419
317
  rubyforge_project:
420
- rubygems_version: 2.6.2
318
+ rubygems_version: 2.6.8
421
319
  signing_key:
422
320
  specification_version: 4
423
321
  summary: A command line interface for releasing Git repository milestones.
metadata.gz.sig CHANGED
Binary file
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Milestoner
4
- # Default configuration for gem with support for custom settings.
5
- class Configuration
6
- def initialize file_name = Identity.file_name, defaults: {}
7
- @file_name = file_name
8
- @defaults = defaults
9
- end
10
-
11
- def local_file_path
12
- File.join Dir.pwd, file_name
13
- end
14
-
15
- def global_file_path
16
- File.join ENV["HOME"], file_name
17
- end
18
-
19
- def global?
20
- File.exist? global_file_path
21
- end
22
-
23
- def local?
24
- File.exist? local_file_path
25
- end
26
-
27
- def computed_file_path
28
- File.exist?(local_file_path) ? local_file_path : global_file_path
29
- end
30
-
31
- def settings
32
- defaults.merge(load_settings).reject { |_, value| value.nil? }
33
- end
34
-
35
- private
36
-
37
- attr_reader :file_name, :defaults
38
-
39
- def load_settings
40
- yaml = YAML.load_file computed_file_path
41
- yaml.is_a?(Hash) ? yaml : {}
42
- rescue
43
- defaults
44
- end
45
- end
46
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Milestoner
4
- module Errors
5
- # Raised for invalid gem configuration.
6
- class Configuration < Base
7
- end
8
- end
9
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Milestoner
4
- module Errors
5
- # Raised for invalid version formats.
6
- class Version < Base
7
- end
8
- end
9
- end
@@ -1,7 +0,0 @@
1
- desc "Open IRB console for gem development environment"
2
- task :console do
3
- require "irb"
4
- require "milestoner"
5
- ARGV.clear
6
- IRB.start
7
- end