bump-cli 0.5.1 → 0.8.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
  SHA256:
3
- metadata.gz: f05f855eadd927f38eaa826e35ca2261414d3e46b004a1f0ebea38cf3687def8
4
- data.tar.gz: 68b1c1580133034e65b7e501caf218ebbeb4f496c9bb9acc9c2bb5276d0945fa
3
+ metadata.gz: 7864d9fa40e4b79da664f8c470553d4cb441c68b98ec7864f14a73a1bf74cca7
4
+ data.tar.gz: 9bf79f7526d64a7d4505401f7b624f2f24970d181005cb0fecb7fdcca9169c84
5
5
  SHA512:
6
- metadata.gz: b83e980a9565c4b0ccb28d4853ec70da95e35c3579df9efc251555c370abe82d1568d1005b5e43a505a32fbcad8569181f5c2dca6341af07832663e15025ca16
7
- data.tar.gz: d6bff352f2a5611cfd293ee9eb142277e9931f0e675f9769ae2f57c0ca534d5d8dca412737529f2126a5624660af1ef7b49b3241c6fa48a604478c5138e192f0
6
+ metadata.gz: c9bdb8df99ff13e7b0b41a0d8512bb9a950882eecafca78374fcee7e8f8e88eb43a9cc0efc75e97ef4c82405ff1d8e43d77a84153e94fc235072ebce1f390517
7
+ data.tar.gz: 721abefc4a876cd07f6a09195b63973131ef17353acf7133891d9f31106527ce1a7c250e3847d495e97d0e80eb4fe4b421d6f05555b3e97c1578c56539ecb8e4
data/.circleci/config.yml CHANGED
@@ -3,7 +3,7 @@ jobs:
3
3
  build-latest: &common-build
4
4
  working_directory: ~/bump-cli
5
5
  docker:
6
- - image: circleci/ruby:2.5.0-node
6
+ - image: circleci/ruby:latest
7
7
  steps:
8
8
  - checkout
9
9
  - run:
@@ -29,20 +29,30 @@ jobs:
29
29
 
30
30
  - run:
31
31
  name: Run tests
32
- command: rake
32
+ command: bundle exec rspec
33
+ build-2-6:
34
+ <<: *common-build
35
+ docker:
36
+ - image: circleci/ruby:2.6
37
+ build-2-5:
38
+ <<: *common-build
39
+ docker:
40
+ - image: circleci/ruby:2.5
33
41
  build-2-4:
34
42
  <<: *common-build
35
43
  docker:
36
- - image: circleci/ruby:2.4.3-node
44
+ - image: circleci/ruby:2.4
37
45
  build-2-3:
38
46
  <<: *common-build
39
47
  docker:
40
- - image: circleci/ruby:2.3.6-node
48
+ - image: circleci/ruby:2.3
41
49
 
42
50
  workflows:
43
51
  version: 2
44
52
  build:
45
53
  jobs:
46
54
  - build-latest
55
+ - build-2-6
56
+ - build-2-5
47
57
  - build-2-4
48
58
  - build-2-3
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: CLI runtime error
3
+ about: Create a report of an exception happening when running a CLI command
4
+ title: "[ERROR MESSAGE]"
5
+ labels: ""
6
+ assignees: ""
7
+ ---
8
+
9
+ **Describe the bug**
10
+ A clear and concise description of what the bug is.
11
+
12
+ **Command**
13
+ Paste here the exact command executed (with arguments and options) which led to the bug.
14
+
15
+ **Stack trace**
16
+ Paste here the stack trace displayed by the CLI, if available.
17
+
18
+ **Screenshots**
19
+ If applicable, add screenshots to help explain your problem.
20
+
21
+ **Desktop (please complete the following information):**
22
+ - OS: [e.g. macOS Catalina 10.15.7]
23
+ - Ruby version [e.g. 2.7]
24
+
25
+ **Additional context**
26
+ Add any other context about the problem here. If publishable, do not hesitate to join the specification you were trying to deploy/preview on Bump.
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in bump-cli.gemspec
6
6
  gemspec
data/README.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Bump::CLI
2
2
 
3
+ **⚠️ DEPRECATION WARNING:** This repository is now deprecated in favor of our [new Node based Bump CLI](https://github.com/bump-sh/cli). Please migrate to v2.x+ version of our CLI to enjoy all features of Bump.sh. ⚠️
4
+
5
+ - [**Read the new CLI announcement**](https://headwayapp.co/bump-changelog/new-command-line-interface-era-196226)
6
+ - [**Read our Bump CLI help section**](https://help.bump.sh/bump-cli)
7
+
8
+ _If you still want to use this ruby gem, please [contact us](mailto:hello@bump.sh) to discuss alternatives and share your use case. Thank you!_
9
+
3
10
  The `bump-cli` gem provides a simple command line access to the Bump (https://bump.sh) API.
4
11
 
5
12
  ## Installation
@@ -29,7 +36,10 @@ Bump tries to identify your file specification and format automatically. You can
29
36
  * `asyncapi/v2/json`
30
37
  * `asyncapi/v2/yaml`
31
38
 
32
- `doc` and `token` options used below can be found in your documentation settings page on https://bump.sh. Note that you can replace the token option by an environment variable, to keep it secret: `--token` can by replaced by `BUMP_TOKEN`.
39
+ Both the `--doc` and `--token` options used below can be found in your documentation settings page on https://bump.sh. Note that you can replace both the `--doc` and `--token` option by an environment variable. This will help to keep those values secret:
40
+
41
+ - `--doc` can by replaced by `BUMP_ID`.
42
+ - `--token` can by replaced by `BUMP_TOKEN`.
33
43
 
34
44
  ### Preview
35
45
 
data/bump-cli.gemspec CHANGED
@@ -1,38 +1,38 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path("../lib", __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "bump/cli/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
7
- spec.name = "bump-cli"
8
- spec.version = Bump::CLI::VERSION
9
- spec.authors = ["Mehdi Lahmam", "Sébastien Charrier"]
10
- spec.email = ["mehdi@lahmam.com", "sebastien@bump.sh"]
6
+ spec.name = "bump-cli"
7
+ spec.version = Bump::CLI::VERSION
8
+ spec.authors = ["Mehdi Lahmam", "Sébastien Charrier"]
9
+ spec.email = ["mehdi@lahmam.com", "sebastien@bump.sh"]
11
10
 
12
- spec.summary = %q{Bump.sh CLI}
13
- spec.description = %q{Bump.sh CLI to interact with the API}
14
- spec.homepage = "https://bump.sh"
15
- spec.license = "MIT"
11
+ spec.summary = "Bump.sh CLI"
12
+ spec.description = "Bump.sh CLI to interact with the API"
13
+ spec.homepage = "https://bump.sh"
14
+ spec.license = "MIT"
16
15
 
17
16
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
- spec.metadata["source_code_uri"] = "https://github.com/bump-sh/bump-cli"
17
+ spec.metadata["source_code_uri"] = "https://github.com/bump-sh/bump-cli"
19
18
 
20
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
21
20
  f.match(%r{^(test|spec|features)/})
22
21
  end
23
- spec.bindir = "exe"
24
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.bindir = "exe"
23
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
24
  spec.require_paths = ["lib"]
26
25
 
27
- spec.required_ruby_version = '>= 2.3'
26
+ spec.required_ruby_version = ">= 2.3"
28
27
 
29
- spec.add_dependency "dry-cli", '~> 0'
30
- spec.add_dependency "http", '>= 3'
28
+ spec.add_dependency "dry-cli", "~> 0"
29
+ spec.add_dependency "http", ">= 3"
31
30
 
32
31
  spec.add_development_dependency "bundler", ">= 1", "< 3"
33
32
  spec.add_development_dependency "byebug", "~> 11"
34
- spec.add_development_dependency "climate_control", '~> 0'
33
+ spec.add_development_dependency "climate_control", "~> 0"
35
34
  spec.add_development_dependency "rake", "~> 13"
36
35
  spec.add_development_dependency "rspec", "~> 3"
36
+ spec.add_development_dependency "standard"
37
37
  spec.add_development_dependency "webmock", "~> 3"
38
38
  end
data/lib/bump/cli.rb CHANGED
@@ -9,6 +9,14 @@ module Bump
9
9
  API_URL = ROOT_URL + API_PATH
10
10
 
11
11
  def call(*args)
12
+ warn ":WARNING:"
13
+ warn " This Bump CLI is now legacy and will not be maintained any further."
14
+ warn ""
15
+ warn " Please update to our new v2.x CLI available at https://github.com/bump-sh/cli"
16
+ warn " You can install the new Bump CLI with 'npm install -g bump-cli'"
17
+ warn " or 'yarn global add bump-cli'"
18
+ warn ":WARNING:"
19
+ warn ""
12
20
  Dry::CLI.new(Commands).call(*args)
13
21
  end
14
22
 
@@ -1,5 +1,5 @@
1
- require 'open-uri'
2
- require 'bump/cli/tools/uuid'
1
+ require "bump/cli/definition"
2
+ require "bump/cli/uuid"
3
3
 
4
4
  module Bump
5
5
  class CLI
@@ -18,9 +18,13 @@ module Bump
18
18
  def body(file, **options)
19
19
  deprecation_warning(options)
20
20
 
21
+ definition = Definition.new(file, import_external_references: !options[:'no-external-references'])
22
+ definition.prepare!
23
+
21
24
  compact(
22
25
  {
23
- definition: open(file).read,
26
+ definition: definition.content,
27
+ references: prepare_references(definition.external_references),
24
28
  specification: options[:specification],
25
29
  validation: options[:validation],
26
30
  auto_create_documentation: options[:'auto-create']
@@ -28,14 +32,16 @@ module Bump
28
32
  )
29
33
  end
30
34
 
31
- def deprecation_warning(options)
32
- if present?(options[:id])
33
- puts "[DEPRECATION WARNING] --id option is deprecated. Please use --doc instead."
34
- end
35
+ def prepare_references(references)
36
+ references.reduce([]) { |references, (location, content)|
37
+ references << {location: location, content: content}
38
+ }
35
39
  end
36
40
 
37
- def present?(string)
38
- !string.nil? && string != ''
41
+ def deprecation_warning(options)
42
+ if options[:"import-external-references"]
43
+ puts "[DEPRECATION WARNING] --import-external-references option is deprecated. External references are imported by default."
44
+ end
39
45
  end
40
46
 
41
47
  def compact(hash)
@@ -56,7 +62,7 @@ module Bump
56
62
  end
57
63
 
58
64
  def documentation_uuid?(options)
59
- Bump::CLI::Tools::UUID.valid?(options[:doc])
65
+ Bump::CLI::UUID.valid?(options[:doc])
60
66
  end
61
67
 
62
68
  def documentation_slug?(options)
@@ -64,7 +70,7 @@ module Bump
64
70
  end
65
71
 
66
72
  def hub_uuid?(options)
67
- Bump::CLI::Tools::UUID.valid?(options[:hub])
73
+ Bump::CLI::UUID.valid?(options[:hub])
68
74
  end
69
75
 
70
76
  def hub_slug?(options)
@@ -75,16 +81,24 @@ module Bump
75
81
  yield
76
82
  rescue HTTP::Error, Errno::ENOENT, SocketError => error
77
83
  abort "Error: #{error.message}"
84
+ rescue => error
85
+ warn "An unexpected error occurred. Sorry about that!"
86
+ warn "We don't monitor errors raised by the CLI running on your computer, so we have not been notified."
87
+ warn "You can help us fix this by creating an issue on https://github.com/bump-sh/bump-cli/issues/new?template=cli-runtime-error.md."
88
+ warn "\n"
89
+ warn "#{error.class}: #{error.message}"
90
+ warn error.backtrace.take(10).join("\n")
91
+ exit(1)
78
92
  end
79
93
 
80
- def headers(token: '')
94
+ def headers(token: "")
81
95
  headers = {
82
- 'Content-Type' => 'application/json',
83
- 'User-Agent' => USER_AGENT
96
+ "Content-Type" => "application/json",
97
+ "User-Agent" => USER_AGENT
84
98
  }
85
99
 
86
100
  if token
87
- headers['Authorization'] = "Basic #{Base64.strict_encode64(token + ':')}"
101
+ headers["Authorization"] = "Basic #{Base64.strict_encode64(token + ":")}"
88
102
  end
89
103
 
90
104
  headers
@@ -105,9 +119,9 @@ module Bump
105
119
  end
106
120
 
107
121
  def display_validation_errors(body)
108
- errors = body.dig('errors') || []
122
+ errors = body.dig("errors") || []
109
123
 
110
- $stderr.puts "Invalid request:"
124
+ warn "Invalid request:"
111
125
  errors.each do |attribute, messages|
112
126
  display_attribute_errors(attribute, messages)
113
127
  end
@@ -116,15 +130,14 @@ module Bump
116
130
  end
117
131
 
118
132
  def display_attribute_errors(attribute, messages)
119
- case
120
- when messages.is_a?(String)
121
- $stderr.puts "- #{attribute}: #{messages}"
122
- when messages.is_a?(Array) && messages.count == 1
123
- $stderr.puts "- #{attribute}: #{messages[0]}"
124
- when messages.is_a?(Array)
125
- $stderr.puts "- #{attribute}:"
133
+ if messages.is_a?(String)
134
+ warn "- #{attribute}: #{messages}"
135
+ elsif messages.is_a?(Array) && messages.count == 1
136
+ warn "- #{attribute}: #{messages[0]}"
137
+ elsif messages.is_a?(Array)
138
+ warn "- #{attribute}:"
126
139
  messages.each do |message|
127
- $stderr.puts " #{message}"
140
+ warn " #{message}"
128
141
  end
129
142
  end
130
143
  end
@@ -1,4 +1,4 @@
1
- require 'base64'
1
+ require "base64"
2
2
 
3
3
  module Bump
4
4
  class CLI
@@ -6,27 +6,28 @@ module Bump
6
6
  class Deploy < Base
7
7
  desc "Create a new version"
8
8
  argument :file, required: true, desc: "Path or URL to your API documentation file. OpenAPI (2.0 to 3.0.2) and AsyncAPI (2.0) specifications are currently supported."
9
- option :id, default: ENV.fetch("BUMP_ID", ""), desc: "[DEPRECATED] Documentation id. Use `documentation` option instead"
10
9
  option :doc, default: ENV.fetch("BUMP_ID", ""), desc: "Documentation id or slug"
11
10
  option :'doc-name', desc: "Documentation name. Used with --auto-create flag."
12
11
  option :hub, default: ENV.fetch("BUMP_HUB_ID", ""), desc: "Hub id or slug"
13
12
  option :token, default: ENV.fetch("BUMP_TOKEN", ""), desc: "Documentation or Hub token"
14
13
  option :specification, desc: "Specification of the definition"
15
- option :validation, desc: "Validation mode", values: %w(basic strict), default: 'basic'
16
- option :'auto-create', type: :boolean, default: false, desc: 'Automatically create the documentation if needed (only available with a hub and when specifying a slug for documentation)'
14
+ option :validation, desc: "Validation mode", values: %w[basic strict], default: "basic"
15
+ option :'auto-create', type: :boolean, default: false, desc: "Automatically create the documentation if needed (only available with a hub and when specifying a slug for documentation)"
16
+ option :'no-external-references', type: :boolean, default: false, desc: "Do not import external references ($ref)"
17
+ option :'import-external-references', type: :boolean, default: false, desc: "[DEPRECATED] External references are imported by default"
17
18
 
18
19
  def call(file:, **options)
19
20
  with_errors_rescued do
20
21
  response = post(
21
22
  url: API_URL + "/versions",
22
- body: body(file, options).to_json,
23
+ body: body(file, **options).to_json,
23
24
  token: options[:token]
24
25
  )
25
26
 
26
27
  if response.code == 201
27
- puts "New version has been successfully deployed."
28
+ puts "The new version is currently being processed."
28
29
  elsif response.code == 204
29
- puts "Version was already deployed."
30
+ puts "This version has already been deployed."
30
31
  else
31
32
  display_error(response)
32
33
  end
@@ -5,18 +5,20 @@ module Bump
5
5
  desc "Create a documentation preview for the given file"
6
6
  argument :file, required: true, desc: "Path or URL to your API documentation file. OpenAPI (2.0 to 3.0.2) and AsyncAPI (2.0) specifications are currently supported."
7
7
  option :specification, desc: "Specification of the definition"
8
- option :validation, desc: "Validation mode", values: %w(basic strict), default: 'basic'
8
+ option :validation, desc: "Validation mode", values: %w[basic strict], default: "basic"
9
+ option :'no-external-references', type: :boolean, default: false, desc: "Do not import external references ($ref)"
10
+ option :'import-external-references', type: :boolean, default: false, desc: "[DEPRECATED] External references are imported by default"
9
11
 
10
12
  def call(file:, **options)
11
13
  with_errors_rescued do
12
14
  response = post(
13
15
  url: API_URL + "/previews",
14
- body: body(file, options).to_json
16
+ body: body(file, **options).to_json
15
17
  )
16
18
 
17
19
  if response.code == 201
18
20
  body = JSON.parse(response.body)
19
- puts "Preview created : #{ROOT_URL + '/preview/' + body['id']} (expires at #{body['expires_at']})"
21
+ puts "Preview created : #{ROOT_URL + "/preview/" + body["id"]} (expires at #{body["expires_at"]})"
20
22
  else
21
23
  display_error(response)
22
24
  end
@@ -1,4 +1,4 @@
1
- require 'base64'
1
+ require "base64"
2
2
 
3
3
  module Bump
4
4
  class CLI
@@ -6,20 +6,21 @@ module Bump
6
6
  class Validate < Base
7
7
  desc "Validate a given file against its schema definition"
8
8
  argument :file, required: true, desc: "Path or URL to your API documentation file. OpenAPI (2.0 to 3.0.2) and AsyncAPI (2.0) specifications are currently supported."
9
- option :id, default: ENV.fetch("BUMP_ID", ""), desc: "[DEPRECATED] Documentation id. Use `documentation` option instead"
10
9
  option :doc, default: ENV.fetch("BUMP_ID", ""), desc: "Documentation public id or slug"
11
10
  option :'doc-name', desc: "Documentation name. Used with --auto-create flag."
12
11
  option :hub, desc: "Hub id or slug"
13
12
  option :token, default: ENV.fetch("BUMP_TOKEN", ""), desc: "Documentation or Hub token"
14
13
  option :specification, desc: "Specification of the definition"
15
- option :validation, desc: "Validation mode", values: %w(basic strict), default: 'basic'
16
- option :'auto-create', type: :boolean, default: false, desc: 'Automatically create the documentation if needed (only available with a hub and when specifying a slug for documentation)'
14
+ option :validation, desc: "Validation mode", values: %w[basic strict], default: "basic"
15
+ option :'auto-create', type: :boolean, default: false, desc: "Automatically create the documentation if needed (only available with a hub and when specifying a slug for documentation)"
16
+ option :'no-external-references', type: :boolean, default: false, desc: "Do not import external references ($ref)"
17
+ option :'import-external-references', type: :boolean, default: false, desc: "[DEPRECATED] External references are imported by default"
17
18
 
18
19
  def call(file:, **options)
19
20
  with_errors_rescued do
20
21
  response = post(
21
22
  url: API_URL + "/validations",
22
- body: body(file, options).to_json,
23
+ body: body(file, **options).to_json,
23
24
  token: options[:token]
24
25
  )
25
26
 
@@ -0,0 +1,32 @@
1
+ require "bump/cli/references"
2
+ require "bump/cli/resource"
3
+
4
+ module Bump
5
+ class CLI
6
+ class Definition
7
+ attr_reader :content, :external_references
8
+
9
+ def initialize(path, import_external_references: false)
10
+ @path = path
11
+ @import_external_references = import_external_references
12
+ @external_references = References.new(root_path: find_base_path(path))
13
+ end
14
+
15
+ def prepare!
16
+ @content = Resource.read(path)
17
+
18
+ if import_external_references
19
+ external_references.load(Resource.parse(content))
20
+ end
21
+ end
22
+
23
+ private
24
+
25
+ attr_reader :path, :import_external_references
26
+
27
+ def find_base_path(path)
28
+ Pathname.new(path.to_s).dirname.to_s + Pathname::SEPARATOR_LIST
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,68 @@
1
+ require "open-uri"
2
+ require "pathname"
3
+
4
+ module Bump
5
+ class CLI
6
+ class References < Hash
7
+ def initialize(root_path: "")
8
+ @root_path = root_path
9
+ end
10
+
11
+ def load(definition)
12
+ traverse_and_load_external_references(definition) if definition.is_a?(Enumerable)
13
+ end
14
+
15
+ private
16
+
17
+ attr_reader :root_path
18
+
19
+ def traverse_and_load_external_references(current)
20
+ current.each do |key, value|
21
+ if key == "$ref"
22
+ load_external_reference(value) if external?(value)
23
+ elsif value.is_a?(Hash)
24
+ traverse_and_load_external_references(value)
25
+ elsif value.is_a?(Array)
26
+ value.each do |array_value|
27
+ if array_value.is_a?(Hash)
28
+ traverse_and_load_external_references(array_value)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ def load_external_reference(reference)
36
+ if self[reference].nil?
37
+ base_reference = cleanup_reference(reference)
38
+ location = prepare_location(base_reference)
39
+ self[base_reference] = Resource.read(location)
40
+ end
41
+ end
42
+
43
+ def cleanup_reference(reference)
44
+ reference.sub(/#.*/, "")
45
+ end
46
+
47
+ def prepare_location(reference)
48
+ if url?(reference) || absolute_path?(reference)
49
+ reference
50
+ else
51
+ root_path + reference
52
+ end
53
+ end
54
+
55
+ def external?(reference)
56
+ !reference.start_with?("#")
57
+ end
58
+
59
+ def url?(path)
60
+ path.start_with?("http")
61
+ end
62
+
63
+ def absolute_path?(path)
64
+ path.start_with?("/")
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,27 @@
1
+ require "json"
2
+ require "yaml"
3
+
4
+ module Bump
5
+ class CLI
6
+ class Resource
7
+ def self.read(location)
8
+ if location.start_with?("http")
9
+ ::HTTP.follow(max_hops: 50)
10
+ .get(location).to_s
11
+ else
12
+ ::File.read(location).force_encoding(Encoding::UTF_8)
13
+ end
14
+ end
15
+
16
+ def self.parse(content)
17
+ ::JSON.parse(content)
18
+ rescue ::JSON::ParserError
19
+ begin
20
+ ::YAML.safe_load(content, [Date, Time])
21
+ rescue ::Psych::SyntaxError
22
+ content
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ module Bump
2
+ class CLI
3
+ class UUID
4
+ REGEXP = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
5
+
6
+ def self.valid?(string)
7
+ string.to_s =~ REGEXP
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,5 +1,5 @@
1
1
  module Bump
2
2
  class CLI
3
- VERSION = "0.5.1"
3
+ VERSION = "0.8.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bump-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mehdi Lahmam
8
8
  - Sébastien Charrier
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-04-08 00:00:00.000000000 Z
12
+ date: 2021-07-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dry-cli
@@ -115,6 +115,20 @@ dependencies:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '3'
118
+ - !ruby/object:Gem::Dependency
119
+ name: standard
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ type: :development
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
118
132
  - !ruby/object:Gem::Dependency
119
133
  name: webmock
120
134
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +153,7 @@ extensions: []
139
153
  extra_rdoc_files: []
140
154
  files:
141
155
  - ".circleci/config.yml"
156
+ - ".github/ISSUE_TEMPLATE/cli-runtime-error.md"
142
157
  - ".gitignore"
143
158
  - ".travis.yml"
144
159
  - CODE_OF_CONDUCT.md
@@ -155,7 +170,10 @@ files:
155
170
  - lib/bump/cli/commands/deploy.rb
156
171
  - lib/bump/cli/commands/preview.rb
157
172
  - lib/bump/cli/commands/validate.rb
158
- - lib/bump/cli/tools/uuid.rb
173
+ - lib/bump/cli/definition.rb
174
+ - lib/bump/cli/references.rb
175
+ - lib/bump/cli/resource.rb
176
+ - lib/bump/cli/uuid.rb
159
177
  - lib/bump/cli/version.rb
160
178
  homepage: https://bump.sh
161
179
  licenses:
@@ -163,7 +181,7 @@ licenses:
163
181
  metadata:
164
182
  allowed_push_host: https://rubygems.org
165
183
  source_code_uri: https://github.com/bump-sh/bump-cli
166
- post_install_message:
184
+ post_install_message:
167
185
  rdoc_options: []
168
186
  require_paths:
169
187
  - lib
@@ -178,9 +196,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
196
  - !ruby/object:Gem::Version
179
197
  version: '0'
180
198
  requirements: []
181
- rubyforge_project:
182
- rubygems_version: 2.7.4
183
- signing_key:
199
+ rubygems_version: 3.1.2
200
+ signing_key:
184
201
  specification_version: 4
185
202
  summary: Bump.sh CLI
186
203
  test_files: []
@@ -1,13 +0,0 @@
1
- module Bump
2
- class CLI
3
- module Tools
4
- class UUID
5
- REGEXP = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/
6
-
7
- def self.valid?(string)
8
- string.to_s =~ REGEXP
9
- end
10
- end
11
- end
12
- end
13
- end