getv 2.1.3 → 2.2.2

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: '09cc60d4212ca31e846439b931041166f3fca8cdf1e7dfc6442ee0f0c95c29e5'
4
- data.tar.gz: 66b94dd425781d6824abfb22bcafc47723c4025f8a8c3b3c8a5f3bf402da92a3
3
+ metadata.gz: 49aa8b3fcba8807f3c2f3a2293aaa55c8ca6e90b38855793fda814b66d679cf9
4
+ data.tar.gz: 7c8af95d73dd5a71febd3e6492c84bb24a4652ec87974f6557439be572eded4a
5
5
  SHA512:
6
- metadata.gz: 7d5207d6ed38b9b06b275d1f0b47503b490faca73427b39509cd79851ba7737e79f0be2247d8969945e9c2697b9a424f95d7e3c8f6213a8582625ceca2005833
7
- data.tar.gz: fc950d0cd4bab100cb665d9d47719fbf5a3c0fe471a6bee2325557e52c6257063c29928466a8aa99df507b77b7466757988f09db234f05546c8fa89a0ce1b540
6
+ metadata.gz: d92225e9fe417b80a5e25258f28e9f0c37d7fcac47d6f0f7e68536b76dad83058231d2c9163e762c1920ead4b51b632e29963b22672e4932dc16ed44acf38bcd
7
+ data.tar.gz: 3ba925a1e820db86aa4f7673fcba59c2e414edee80aaa238549fd8d9378ddb7392ff2a24447315b18c7289826ae5d128ea1dd0393ade0016eb9adf3398914e09
data/README.md CHANGED
@@ -39,7 +39,7 @@ SYNOPSIS
39
39
 
40
40
 
41
41
  VERSION
42
- 2.1.3
42
+ 2.1.4
43
43
 
44
44
 
45
45
 
@@ -72,7 +72,7 @@ Show the latest available version of the `getv` gem:
72
72
 
73
73
  ```console
74
74
  $ getv --latest gem getv
75
- 2.1.3
75
+ 2.1.4
76
76
  ```
77
77
 
78
78
  Show all `dep` GitHub release versions in JSON:
@@ -6,7 +6,7 @@ module Getv
6
6
  class Docker < Package
7
7
  def initialize(name, opts = {})
8
8
  opts = defaults.merge(opts)
9
- opts = { user: nil, password: nil }.merge(opts)
9
+ opts = { user: nil, password: nil, auto_paginate: true }.merge(opts)
10
10
  opts = docker_defaults(name).merge(opts)
11
11
  super name, opts
12
12
  end
@@ -21,7 +21,7 @@ module Getv
21
21
  { owner: name.split('/')[0], repo: name.split('/')[1],
22
22
  url: 'https://registry.hub.docker.com' }
23
23
  else
24
- { owner: name.split('/')[1], repo: name.split('/')[2..-1].join('/'),
24
+ { owner: name.split('/')[1], repo: name.split('/')[2..].join('/'),
25
25
  url: "https://#{name.split('/')[0]}" }
26
26
  end
27
27
  end
@@ -40,7 +40,7 @@ module Getv
40
40
  require 'docker_registry2'
41
41
  retries ||= 0
42
42
  docker = DockerRegistry2.connect(opts[:url], docker_opts)
43
- docker.tags("#{opts[:owner]}/#{opts[:repo]}")['tags'] || []
43
+ docker.tags("#{opts[:owner]}/#{opts[:repo]}", auto_paginate: opts[:auto_paginate])['tags'] || []
44
44
  rescue DockerRegistry2::NotFound
45
45
  []
46
46
  rescue StandardError => e
data/lib/getv/package.rb CHANGED
@@ -42,12 +42,13 @@ module Getv
42
42
  @opts = opts
43
43
  end
44
44
 
45
- def defaults
45
+ def defaults # rubocop:disable Metrics/MethodLength
46
46
  {
47
47
  select_search: '^\s*v?(.*)\s*$',
48
48
  select_replace: '\1',
49
49
  reject: nil,
50
50
  semantic_only: true,
51
+ semantic_prefix: nil,
51
52
  semantic_select: ['*'],
52
53
  proxy: nil,
53
54
  versions: nil,
@@ -72,14 +73,22 @@ module Getv
72
73
  versions.select! { |v| v =~ select_pattern }
73
74
  versions.map! { |v| v.sub(select_pattern, opts[:select_replace]) }
74
75
  versions.reject! { |v| v =~ Regexp.new(opts[:reject]) } unless opts[:reject].nil?
76
+
75
77
  if opts[:semantic_only]
76
78
  require 'semantic'
77
79
  require 'semantic/core_ext'
78
- versions.select!(&:is_version?)
80
+
81
+ # remove non semantic version tags
82
+ versions.select! do |v|
83
+ v.sub(/^#{opts[:semantic_prefix]}/, '').is_version? && v.start_with?(opts[:semantic_prefix].to_s)
84
+ end
85
+
79
86
  opts[:semantic_select].each do |comparator|
80
- versions.select! { |v| Semantic::Version.new(v).satisfies?(comparator) }
87
+ versions.select! do |v|
88
+ Semantic::Version.new(v.sub(/^#{opts[:semantic_prefix]}/, '')).satisfies?(comparator)
89
+ end
81
90
  end
82
- versions.sort_by! { |v| Semantic::Version.new(v) }
91
+ versions.sort_by! { |v| Semantic::Version.new(v.sub(/^#{opts[:semantic_prefix]}/, '')) }
83
92
  else
84
93
  versions.sort! unless instance_of?(Getv::Package::GitHub::Commit)
85
94
  end
data/lib/getv/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Getv
4
- VERSION = '2.1.3'
4
+ VERSION = '2.2.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: getv
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - harbottle
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-05 00:00:00.000000000 Z
11
+ date: 2022-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gli
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 1.0.0
39
+ version: 1.10.1
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: 2.0.0
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 1.0.0
49
+ version: 1.10.1
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: 2.0.0