getv 0.2.2 → 1.0.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: 7369ef91a1c131d8bfefc1092766605327b09f75a3850ae8b344525d70ae7941
4
- data.tar.gz: 9ef77edcfe4b6c897af791ce70aeb880477a2526bdee4ac21b9ee08c3b05520f
3
+ metadata.gz: 5a68d43a8a011bcf8f9dfe6da94fe08a3774dfaab5b0b00d2c8d879b9678487b
4
+ data.tar.gz: a58a0775503091b3721ae6098240575dad501100a587eb5a278d84a0ac6a5080
5
5
  SHA512:
6
- metadata.gz: 8084e7d170ec2cd4545e80f99ec87255af60fe468b9d409ee7af7e2bbc7a4f832b73505b247d889ced894a35b75603d24abcba083ababf6c6cec030fd08074e6
7
- data.tar.gz: ef69ca6d1c0a8e5fcba0273a55346d4ed7db0297638c6aab79a42ffb2b39b1e03c21dc08454754bce570204bcb35556413a05ea7bbb813cef44543b4ca3b597b
6
+ metadata.gz: d80d95dff250b3a699327f747cd6cb59407f9ad42603731c239b0784f870f9622e01d50e3fe52c3eeab674575f8126a690837801e0ff73ce4e0bdf18953ea060
7
+ data.tar.gz: f517c35bbfaaab58456ce36da1629d66ef2390da980e60b98100d9f65f5c18d944eac678aa6c51993273d96656cbae934f8f0628a5006fed328a7d72ead81f58
data/.gitignore CHANGED
@@ -7,6 +7,8 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /*.gem
10
+ /vendor
11
+ Gemfile.lock
10
12
 
11
13
  # rspec failure tracking
12
14
  .rspec_status
data/.rubocop.yml ADDED
@@ -0,0 +1,10 @@
1
+ ---
2
+ AllCops:
3
+ NewCops: enable
4
+
5
+ Metrics/BlockLength:
6
+ Exclude:
7
+ - 'Rakefile'
8
+ - '**/*.rake'
9
+ - 'test/**/*.rb'
10
+ - 'spec/**/*_spec.rb'
data/Gemfile CHANGED
@@ -1,13 +1,17 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in getv.gemspec
4
6
  gemspec
5
7
 
6
- gem "rake", "~> 12.0"
7
- gem "rspec", "~> 3.0"
8
- gem "nokogiri", "~> 1.13"
9
- gem "irb", "~> 1.4"
10
- gem "rdoc", "~> 6.4"
11
- gem "octokit", "~> 4.21"
12
- gem "semantic", "~> 1.6"
13
- gem "docker_registry2", "~> 1.10"
8
+ gem 'docker_registry2', '~> 1.10'
9
+ gem 'irb', '~> 1.4'
10
+ gem 'nokogiri', '~> 1.13'
11
+ gem 'octokit', '~> 4.21'
12
+ gem 'rake', '~> 12.0'
13
+ gem 'rdoc', '~> 6.4'
14
+ gem 'rspec', '~> 3.0'
15
+ gem 'semantic', '~> 1.6'
16
+ gem 'vcr', '~> 6.0'
17
+ gem 'webmock', '~> 3.0'
data/README.md CHANGED
@@ -21,13 +21,13 @@ Or install it yourself as:
21
21
  ## Usage
22
22
 
23
23
  ```
24
- irb(main):024:0> superset = Getv::Package.new('superset',{:type => 'docker', :owner => 'apache', :reject => '-'})
24
+ irb(main):024:0> superset = Getv::Package.new('superset', type: 'docker', owner: 'apache', reject: '-')
25
25
  =>
26
26
  #<Getv::Package:0x000055b6d2326f20
27
27
  ...
28
- irb(main):025:0> superset.get_versions
28
+ irb(main):025:0> superset.versions
29
29
  => ["1.0.0", "1.0.1", "1.1.0", "1.2.0", "1.3.0", "1.3.1", "1.3.2"]
30
- irb(main):026:0> superset.get_latest_version
30
+ irb(main):026:0> superset.latest_version
31
31
  => "1.3.2"
32
32
  irb(main):027:0> superset
33
33
  =>
data/bin/bundle CHANGED
@@ -60,16 +60,16 @@ m = Module.new do
60
60
  Regexp.last_match(1)
61
61
  end
62
62
 
63
- def bundler_version
64
- @bundler_version ||=
63
+ def bundler_requirement
64
+ @bundler_requirement ||=
65
65
  env_var_version || cli_arg_version ||
66
- lockfile_version
66
+ bundler_requirement_for(lockfile_version)
67
67
  end
68
68
 
69
- def bundler_requirement
70
- return "#{Gem::Requirement.default}.a" unless bundler_version
69
+ def bundler_requirement_for(version)
70
+ return "#{Gem::Requirement.default}.a" unless version
71
71
 
72
- bundler_gem_version = Gem::Version.new(bundler_version)
72
+ bundler_gem_version = Gem::Version.new(version)
73
73
 
74
74
  requirement = bundler_gem_version.approximate_recommendation
75
75
 
data/getv.gemspec CHANGED
@@ -1,31 +1,33 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'lib/getv/version'
2
4
 
3
5
  Gem::Specification.new do |spec|
4
- spec.name = "getv"
6
+ spec.name = 'getv'
5
7
  spec.version = Getv::VERSION
6
- spec.authors = ["harbottle"]
7
- spec.email = ["harbottle@room3d3.com"]
8
+ spec.authors = ['harbottle']
9
+ spec.email = ['harbottle@room3d3.com']
8
10
 
9
- spec.summary = "Pull package version numbers from the web in various ways."
10
- spec.description = "Pull package version numbers from the web in various ways."
11
- spec.homepage = "https://github.com/liger1978/getv"
12
- spec.license = "MIT"
11
+ spec.summary = 'Pull package version numbers from the web in various ways.'
12
+ spec.description = 'Pull package version numbers from the web in various ways.'
13
+ spec.homepage = 'https://github.com/liger1978/getv'
14
+ spec.license = 'MIT'
13
15
 
14
- spec.metadata["homepage_uri"] = spec.homepage
15
- spec.metadata["source_code_uri"] = "https://github.com/liger1978/getv"
16
- spec.metadata["changelog_uri"] = "https://github.com/liger1978/getv"
16
+ spec.metadata['homepage_uri'] = spec.homepage
17
+ spec.metadata['source_code_uri'] = 'https://github.com/liger1978/getv'
18
+ spec.metadata['changelog_uri'] = 'https://github.com/liger1978/getv'
17
19
 
18
20
  # Specify which files should be added to the gem when it is released.
19
21
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
22
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
21
23
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
24
  end
23
- spec.bindir = "exe"
25
+ spec.bindir = 'exe'
24
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
- spec.require_paths = ["lib"]
27
+ spec.require_paths = ['lib']
26
28
 
27
- spec.add_dependency("nokogiri", ">= 1.0.0", "< 2.0.0")
28
- spec.add_dependency("octokit", ">= 3.0.0", "< 5.0.0")
29
- spec.add_dependency("semantic", ">= 1.0.0", "< 2.0.0")
30
- spec.add_dependency("docker_registry2", ">= 1.0.0", "< 2.0.0")
29
+ spec.add_dependency('docker_registry2', '>= 1.0.0', '< 2.0.0')
30
+ spec.add_dependency('nokogiri', '>= 1.0.0', '< 2.0.0')
31
+ spec.add_dependency('octokit', '>= 3.0.0', '< 5.0.0')
32
+ spec.add_dependency('semantic', '>= 1.0.0', '< 2.0.0')
31
33
  end
data/lib/getv/package.rb CHANGED
@@ -1,180 +1,164 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Getv
2
- class Package
4
+ # package class
5
+ class Package # rubocop:disable Metrics/ClassLength
3
6
  attr_accessor :name, :opts
4
7
 
5
- def initialize(name, opts={})
8
+ def initialize(name, opts = {}) # rubocop:disable Metrics/MethodLength,Metrics/CyclomaticComplexity,Metrics/AbcSize
6
9
  @name = name
7
- if /rubygem-.*/.match?(name)
8
- opts = {'type' => 'gem'}.merge(opts)
9
- elsif /nodejs-.*/.match?(name)
10
- opts = {'type' => 'npm'}.merge(opts)
11
- elsif /python.*-.*/.match?(name)
12
- opts = {'type' => 'pypi'}.merge(opts)
10
+ case name
11
+ when /rubygem-.*/
12
+ opts = { 'type' => 'gem' }.merge(opts)
13
+ when /nodejs-.*/
14
+ opts = { 'type' => 'npm' }.merge(opts)
15
+ when /python.*-.*/
16
+ opts = { 'type' => 'pypi' }.merge(opts)
13
17
  end
14
18
  if opts[:type] == 'github_commit'
15
19
  opts = {
16
- :branch => 'master',
17
- :select_search => '^((\d{8})(\d{6}),(([a-z\d]{7})(.*)))$',
18
- :semantic_only => false
20
+ branch: 'master',
21
+ select_search: '^((\d{8})(\d{6}),(([a-z\d]{7})(.*)))$',
22
+ semantic_only: false
19
23
  }.merge(opts)
20
24
  end
21
25
  opts = {
22
- :type => 'github_release',
23
- :select_search => '^\s*v?((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)\s*$',
24
- :select_replace => '\1',
25
- :reject => nil,
26
- :semantic_only => true,
27
- :semantic_select => ['*'],
28
- :versions => nil,
29
- :latest_version => nil,
26
+ type: 'github_release',
27
+ select_search: '^\s*v?((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)\s*$', # rubocop:disable Layout/LineLength
28
+ select_replace: '\1',
29
+ reject: nil,
30
+ semantic_only: true,
31
+ semantic_select: ['*'],
32
+ versions: nil,
33
+ latest_version: nil
30
34
  }.merge(opts)
31
35
  case opts[:type]
32
36
  when 'docker'
33
- opts = {:owner => 'library', :repo => name, :url=> 'https://registry.hub.docker.com'}.merge(opts)
37
+ opts = { owner: 'library', repo: name, url: 'https://registry.hub.docker.com' }.merge(opts)
34
38
  when 'gem'
35
- opts = {:gem => name[/rubygem-(.*)/, 1] || name}.merge(opts)
39
+ opts = { gem: name[/rubygem-(.*)/, 1] || name }.merge(opts)
36
40
  when /github.*/
37
- opts = {:owner => name, :repo => name,}.merge(opts)
41
+ opts = { owner: name, repo: name }.merge(opts)
38
42
  when 'index'
39
- opts = {:link => 'content'}.merge(opts)
43
+ opts = { link: 'content' }.merge(opts)
40
44
  when 'npm'
41
- opts = {:npm => name[/nodejs-(.*)/, 1] || name}.merge(opts)
45
+ opts = { npm: name[/nodejs-(.*)/, 1] || name }.merge(opts)
42
46
  when 'pypi'
43
- opts = {:npm => name[/python.*-(.*)/, 1] || name}.merge(opts)
47
+ opts = { npm: name[/python.*-(.*)/, 1] || name }.merge(opts)
44
48
  end
45
49
  @opts = opts
46
50
  end
47
-
48
- def get_latest_version
49
- if opts[:latest_version] == nil
50
- self.update_versions
51
- end
51
+
52
+ def latest_version
53
+ update_versions if opts[:latest_version].nil?
52
54
  opts[:latest_version]
53
55
  end
54
56
 
55
- def get_versions
56
- if opts[:version] == nil
57
- self.update_versions
58
- end
57
+ def versions
58
+ update_versions if opts[:versions].nil?
59
59
  opts[:versions]
60
60
  end
61
61
 
62
- def update_versions
63
- case opts[:type]
64
- when 'docker'
65
- versions = get_versions_using_docker
66
- when 'gem'
67
- versions = get_versions_using_gem
68
- when 'get'
69
- versions = get_versions_using_get
70
- when 'github_commit'
71
- versions = get_versions_using_github('commit')
72
- when 'github_release'
73
- versions = get_versions_using_github('release')
74
- when 'github_tag'
75
- versions = get_versions_using_github('tag')
76
- when 'index'
77
- versions = get_versions_using_index
78
- when 'npm'
79
- versions = get_versions_using_npm
80
- when 'pypi'
81
- versions = get_versions_using_pypi
82
- end
83
- if opts[:type] == 'github_commit'
84
- versions.sort!
85
- end
62
+ def update_versions # rubocop:disable Metrics/PerceivedComplexity,Metrics/MethodLength,Metrics/CyclomaticComplexity,Metrics/AbcSize
63
+ method = opts[:type].split('_')
64
+ method[0] = "versions_using_#{method[0]}"
65
+
66
+ versions = send(*method)
67
+ versions.sort! if opts[:type] == 'github_commit'
86
68
  select_pattern = Regexp.new(opts[:select_search])
87
- versions.select! {|v| v =~ select_pattern}
88
- versions.map! {|v| v.sub(select_pattern, opts[:select_replace])}
89
- unless opts[:reject].nil?
90
- versions.reject! {|v| v =~ Regexp.new(opts[:reject])}
91
- end
69
+ versions.select! { |v| v =~ select_pattern }
70
+ versions.map! { |v| v.sub(select_pattern, opts[:select_replace]) }
71
+ versions.reject! { |v| v =~ Regexp.new(opts[:reject]) } unless opts[:reject].nil?
92
72
  if opts[:semantic_only]
93
73
  require 'semantic'
94
74
  require 'semantic/core_ext'
95
- versions.select! {|v| v.is_version?}
75
+ versions.select!(&:is_version?)
96
76
  opts[:semantic_select].each do |comparator|
97
- versions.select! {|v| Semantic::Version.new(v).satisfies?(comparator)}
77
+ versions.select! { |v| Semantic::Version.new(v).satisfies?(comparator) }
98
78
  end
99
- versions.sort_by! {|v| Semantic::Version.new(v)}
79
+ versions.sort_by! { |v| Semantic::Version.new(v) }
100
80
  else
101
- unless opts[:type] == 'github_commit'
102
- versions.sort!
103
- end
81
+ versions.sort! unless opts[:type] == 'github_commit'
104
82
  end
105
83
  opts[:versions] = versions
106
- unless opts[:versions].empty?
107
- opts[:latest_version] = opts[:versions][-1]
108
- end
84
+ opts[:latest_version] = opts[:versions][-1] unless opts[:versions].empty?
109
85
  end
110
86
 
111
87
  private
112
88
 
113
- def get_versions_using_docker
89
+ def versions_using_docker
114
90
  require 'docker_registry2'
115
91
  docker = DockerRegistry2.connect(opts[:url])
116
- return docker.tags("#{opts[:owner]}/#{opts[:repo]}")['tags']
92
+ docker.tags("#{opts[:owner]}/#{opts[:repo]}")['tags']
117
93
  end
118
94
 
119
- def get_versions_using_gem
95
+ def versions_using_gem
120
96
  require 'json'
121
97
  require 'open-uri'
122
98
  require 'net/http'
123
- return JSON.parse(Net::HTTP.get(URI("https://rubygems.org/api/v1/versions/#{opts[:gem]}.json"))).map {|v| v['number']}
99
+ JSON.parse(Net::HTTP.get(URI("https://rubygems.org/api/v1/versions/#{opts[:gem]}.json"))).map do |v|
100
+ v['number']
101
+ end
124
102
  end
125
103
 
126
- def get_versions_using_get
104
+ def versions_using_get
127
105
  require 'open-uri'
128
106
  require 'net/http'
129
- return Net::HTTP.get(URI(opts[:url])).split("\n")
107
+ Net::HTTP.get(URI(opts[:url])).split("\n")
130
108
  end
131
109
 
132
- def get_versions_using_github(method)
110
+ def github
133
111
  require 'octokit'
134
112
  if ENV['GITHUB_TOKEN']
135
- github = Octokit::Client.new(:access_token => ENV['GITHUB_TOKEN'])
113
+ github = Octokit::Client.new(access_token: ENV['GITHUB_TOKEN'])
136
114
  user = github.user
137
115
  user.login
138
116
  else
139
- github = Octokit::Client.new()
117
+ github = Octokit::Client.new
140
118
  end
141
119
  github.auto_paginate = true
142
- if method == 'release'
143
- return github.releases("#{opts[:owner]}/#{opts[:repo]}").map{|r| r.tag_name}
144
- elsif method == 'commit'
145
- return github.commits("#{opts[:owner]}/#{opts[:repo]}",opts[:branch]).map { |c|
120
+ github
121
+ end
122
+
123
+ def versions_using_github(method) # rubocop:disable Metrics/AbcSize
124
+ case method
125
+ when 'release'
126
+ github.releases("#{opts[:owner]}/#{opts[:repo]}").map(&:tag_name)
127
+ when 'commit'
128
+ github.commits("#{opts[:owner]}/#{opts[:repo]}", opts[:branch]).map do |c|
146
129
  "#{DateTime.parse(c[:commit][:author][:date].to_s).strftime('%Y%m%d%H%M%S')},#{c[:sha]}"
147
- }
130
+ end
148
131
  else
149
- return github.tags("#{opts[:owner]}/#{opts[:repo]}").map{|t| t[:name]}
132
+ github.tags("#{opts[:owner]}/#{opts[:repo]}").map { |t| t[:name] }
150
133
  end
151
134
  end
152
135
 
153
- def get_versions_using_index
136
+ def versions_using_index
154
137
  require 'open-uri'
155
138
  require 'net/http'
156
139
  require 'nokogiri'
157
- if opts[:link] == 'value'
158
- versions = Nokogiri::HTML(URI.open(opts[:url])).css('a').map{|a| a.values[0]}
159
- else
160
- versions = Nokogiri::HTML(URI.open(opts[:url])).css('a').map{|a| a.public_send(opts[:link])}
140
+
141
+ Nokogiri::HTML(URI.open(opts[:url])).css('a').map do |a| # rubocop:disable Security/Open
142
+ if opts[:link] == 'value'
143
+ a.values[0]
144
+ else
145
+ a.public_send(opts[:link])
146
+ end
161
147
  end
162
- return versions
163
148
  end
164
149
 
165
- def get_versions_using_npm
150
+ def versions_using_npm
166
151
  require 'json'
167
152
  require 'open-uri'
168
153
  require 'net/http'
169
- return JSON.parse(Net::HTTP.get(URI("https://registry.npmjs.org/#{opts[:npm]}")))['versions'].keys
154
+ JSON.parse(Net::HTTP.get(URI("https://registry.npmjs.org/#{opts[:npm]}")))['versions'].keys
170
155
  end
171
156
 
172
- def get_versions_using_pypi
157
+ def versions_using_pypi
173
158
  require 'json'
174
159
  require 'open-uri'
175
160
  require 'net/http'
176
- return JSON.parse(Net::HTTP.get(URI("https://pypi.org/pypi/#{opts[:pypi]}/json")))['releases'].keys
161
+ JSON.parse(Net::HTTP.get(URI("https://pypi.org/pypi/#{opts[:pypi]}/json")))['releases'].keys
177
162
  end
178
-
179
163
  end
180
164
  end
data/lib/getv/version.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Getv
2
- VERSION = "0.2.2"
4
+ VERSION = '1.0.0'
3
5
  end
data/lib/getv.rb CHANGED
@@ -1,5 +1,7 @@
1
- require "getv/version"
2
- require "getv/package"
1
+ # frozen_string_literal: true
2
+
3
+ require 'getv/version'
4
+ require 'getv/package'
3
5
 
4
6
  module Getv
5
7
  class Error < StandardError; end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - harbottle
@@ -11,7 +11,7 @@ cert_chain: []
11
11
  date: 2022-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: nokogiri
14
+ name: docker_registry2
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -31,47 +31,47 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.0.0
33
33
  - !ruby/object:Gem::Dependency
34
- name: octokit
34
+ name: nokogiri
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 3.0.0
39
+ version: 1.0.0
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: 5.0.0
42
+ version: 2.0.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 3.0.0
49
+ version: 1.0.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: 5.0.0
52
+ version: 2.0.0
53
53
  - !ruby/object:Gem::Dependency
54
- name: semantic
54
+ name: octokit
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 1.0.0
59
+ version: 3.0.0
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
- version: 2.0.0
62
+ version: 5.0.0
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 1.0.0
69
+ version: 3.0.0
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: 2.0.0
72
+ version: 5.0.0
73
73
  - !ruby/object:Gem::Dependency
74
- name: docker_registry2
74
+ name: semantic
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
77
  - - ">="
@@ -100,9 +100,9 @@ files:
100
100
  - ".bundle/config"
101
101
  - ".gitignore"
102
102
  - ".rspec"
103
+ - ".rubocop.yml"
103
104
  - ".travis.yml"
104
105
  - Gemfile
105
- - Gemfile.lock
106
106
  - LICENSE.txt
107
107
  - README.md
108
108
  - Rakefile
data/Gemfile.lock DELETED
@@ -1,113 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- getv (0.2.1)
5
- docker_registry2 (>= 1.0.0, < 2.0.0)
6
- nokogiri (>= 1.0.0, < 2.0.0)
7
- octokit (>= 3.0.0, < 5.0.0)
8
- semantic (>= 1.0.0, < 2.0.0)
9
-
10
- GEM
11
- remote: https://rubygems.org/
12
- specs:
13
- addressable (2.8.0)
14
- public_suffix (>= 2.0.2, < 5.0)
15
- diff-lcs (1.5.0)
16
- docker_registry2 (1.10.0)
17
- rest-client (>= 1.8.0)
18
- domain_name (0.5.20190701)
19
- unf (>= 0.0.5, < 1.0.0)
20
- faraday (1.9.3)
21
- faraday-em_http (~> 1.0)
22
- faraday-em_synchrony (~> 1.0)
23
- faraday-excon (~> 1.1)
24
- faraday-httpclient (~> 1.0)
25
- faraday-multipart (~> 1.0)
26
- faraday-net_http (~> 1.0)
27
- faraday-net_http_persistent (~> 1.0)
28
- faraday-patron (~> 1.0)
29
- faraday-rack (~> 1.0)
30
- faraday-retry (~> 1.0)
31
- ruby2_keywords (>= 0.0.4)
32
- faraday-em_http (1.0.0)
33
- faraday-em_synchrony (1.0.0)
34
- faraday-excon (1.1.0)
35
- faraday-httpclient (1.0.1)
36
- faraday-multipart (1.0.3)
37
- multipart-post (>= 1.2, < 3)
38
- faraday-net_http (1.0.1)
39
- faraday-net_http_persistent (1.2.0)
40
- faraday-patron (1.0.0)
41
- faraday-rack (1.0.0)
42
- faraday-retry (1.0.3)
43
- http-accept (1.7.0)
44
- http-cookie (1.0.4)
45
- domain_name (~> 0.5)
46
- io-console (0.5.11)
47
- irb (1.4.1)
48
- reline (>= 0.3.0)
49
- mime-types (3.4.1)
50
- mime-types-data (~> 3.2015)
51
- mime-types-data (3.2022.0105)
52
- mini_portile2 (2.7.1)
53
- multipart-post (2.1.1)
54
- netrc (0.11.0)
55
- nokogiri (1.13.0)
56
- mini_portile2 (~> 2.7.0)
57
- racc (~> 1.4)
58
- octokit (4.21.0)
59
- faraday (>= 0.9)
60
- sawyer (~> 0.8.0, >= 0.5.3)
61
- psych (4.0.3)
62
- stringio
63
- public_suffix (4.0.6)
64
- racc (1.6.0)
65
- rake (12.3.3)
66
- rdoc (6.4.0)
67
- psych (>= 4.0.0)
68
- reline (0.3.1)
69
- io-console (~> 0.5)
70
- rest-client (2.1.0)
71
- http-accept (>= 1.7.0, < 2.0)
72
- http-cookie (>= 1.0.2, < 2.0)
73
- mime-types (>= 1.16, < 4.0)
74
- netrc (~> 0.8)
75
- rspec (3.10.0)
76
- rspec-core (~> 3.10.0)
77
- rspec-expectations (~> 3.10.0)
78
- rspec-mocks (~> 3.10.0)
79
- rspec-core (3.10.1)
80
- rspec-support (~> 3.10.0)
81
- rspec-expectations (3.10.1)
82
- diff-lcs (>= 1.2.0, < 2.0)
83
- rspec-support (~> 3.10.0)
84
- rspec-mocks (3.10.2)
85
- diff-lcs (>= 1.2.0, < 2.0)
86
- rspec-support (~> 3.10.0)
87
- rspec-support (3.10.3)
88
- ruby2_keywords (0.0.5)
89
- sawyer (0.8.2)
90
- addressable (>= 2.3.5)
91
- faraday (> 0.8, < 2.0)
92
- semantic (1.6.1)
93
- stringio (3.0.1)
94
- unf (0.1.4)
95
- unf_ext
96
- unf_ext (0.0.8)
97
-
98
- PLATFORMS
99
- ruby
100
-
101
- DEPENDENCIES
102
- docker_registry2 (~> 1.10)
103
- getv!
104
- irb (~> 1.4)
105
- nokogiri (~> 1.13)
106
- octokit (~> 4.21)
107
- rake (~> 12.0)
108
- rdoc (~> 6.4)
109
- rspec (~> 3.0)
110
- semantic (~> 1.6)
111
-
112
- BUNDLED WITH
113
- 2.2.22