ra10ke 2.0.0 → 3.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.
@@ -82,20 +82,19 @@ module Ra10ke
82
82
  # :sha=>"fcc0532bbc5a5b65f3941738339e9cc7e3d767ce", :ref=>"refs/pull/249/head", :type=>:pull, :subtype=>:head, :name=>"249"},
83
83
  # :sha=>"8d54891fa5df75890ee15d53080c2a81b4960f92", :ref=>"refs/pull/267/head", :type=>:pull, :subtype=>:head, :name=>"267"}]
84
84
  def all_refs
85
- @all_refs ||= begin
86
- remote_refs.each_with_object([]) do |line, refs|
87
- sha, ref = line.split("\t")
88
- next refs if line.include?('redirecting')
89
- next refs if sha.eql?('ref: refs/heads/master')
90
- _, type, name, subtype = ref.chomp.split('/')
91
- next refs unless name
92
-
93
- type = :tag if type.eql?('tags')
94
- type = type.to_sym
95
- subtype = subtype.to_sym if subtype
96
- type = :branch if type.eql?(:heads)
97
- refs << { sha: sha, ref: ref.chomp, type: type, subtype: subtype, name: name }
98
- end
85
+ @all_refs ||= remote_refs.each_with_object([]) do |line, refs|
86
+ sha, ref = line.split("\t")
87
+ next refs if line.include?('redirecting')
88
+ next refs if sha.eql?('ref: refs/heads/master')
89
+
90
+ _, type, name, subtype = ref.chomp.split('/')
91
+ next refs unless name
92
+
93
+ type = :tag if type.eql?('tags')
94
+ type = type.to_sym
95
+ subtype = subtype.to_sym if subtype
96
+ type = :branch if type.eql?(:heads)
97
+ refs << { sha: sha, ref: ref.chomp, type: type, subtype: subtype, name: name }
99
98
  end
100
99
  end
101
100
 
@@ -105,10 +104,10 @@ module Ra10ke
105
104
  # @return [String] the matching ref_name or nil
106
105
  def get_ref_like(ref_name)
107
106
  return nil unless valid_url?
108
- ref = all_refs.find do |ref|
107
+
108
+ all_refs.find do |ref|
109
109
  ref[:name].include?(ref_name)
110
110
  end
111
- ref
112
111
  end
113
112
 
114
113
  # useful for mocking easily
@@ -1,27 +1,27 @@
1
1
  module Ra10ke::Install
2
2
  def define_task_install(*_args)
3
- desc "Install modules specified in Puppetfile"
3
+ desc 'Install modules specified in Puppetfile'
4
4
  task :install do
5
5
  require 'r10k/puppetfile'
6
6
 
7
7
  puppetfile = get_puppetfile
8
8
  puppetfile.load!
9
9
 
10
- puts "Processing Puppetfile for fixtures"
10
+ puts 'Processing Puppetfile for fixtures'
11
11
  puppetfile.modules.each do |mod|
12
12
  if mod.status == :insync
13
13
  puts "Skipping #{mod.name} (#{mod.version}) already in sync"
14
14
  else
15
- if mod.status == :absent
16
- msg = "installed #{mod.name}"
17
- else
18
- msg = "updated #{mod.name} from #{mod.version} to"
19
- end
15
+ msg = if mod.status == :absent
16
+ "installed #{mod.name}"
17
+ else
18
+ "updated #{mod.name} from #{mod.version} to"
19
+ end
20
20
  mod.sync
21
- if mod.status != :insync
22
- puts "Failed to sync #{mod.name}".red
23
- else
21
+ if mod.status == :insync
24
22
  puts "Successfully #{msg} #{mod.version}".green
23
+ else
24
+ puts "Failed to sync #{mod.name}".red
25
25
  end
26
26
  end
27
27
  end
@@ -18,7 +18,7 @@ class String
18
18
  colorize(33)
19
19
  end
20
20
 
21
- # removes specified markes from string.
21
+ # removes specified markes from string.
22
22
  # @return [String] - the string with markers removed
23
23
  def strip_comment(markers = ['#', "\n"])
24
24
  re = Regexp.union(markers)
@@ -1,90 +1,90 @@
1
- # it might be desirable to parse the Puppetfile as a string instead of evaling it.
1
+ # it might be desirable to parse the Puppetfile as a string instead of evaling it.
2
2
  # this module allows you to do just that.
3
3
  require 'ra10ke/monkey_patches'
4
4
 
5
5
  module Ra10ke
6
- module PuppetfileParser
7
-
8
- # @return [Array] - returns a array of hashes that contain modules with a git source
9
- def git_modules(file = puppetfile)
10
- modules(file).find_all do |mod|
11
- mod[:args].key?(:git)
12
- end
6
+ module PuppetfileParser
7
+ # @return [Array] - returns a array of hashes that contain modules with a git source
8
+ def git_modules(file = puppetfile)
9
+ modules(file).find_all do |mod|
10
+ mod[:args].key?(:git)
13
11
  end
12
+ end
14
13
 
15
- # @return [Array] - returns a array of hashes that contain modules from the Forge
16
- def forge_modules(file = puppetfile)
17
- modules(file).reject do |mod|
18
- mod[:args].key?(:git)
19
- end
14
+ # @return [Array] - returns a array of hashes that contain modules from the Forge
15
+ def forge_modules(file = puppetfile)
16
+ modules(file).reject do |mod|
17
+ mod[:args].key?(:git)
20
18
  end
19
+ end
21
20
 
22
- # @param puppetfile [String] - the absolute path to the puppetfile
23
- # @return [Array] - returns an array of module hashes that represent the puppetfile
24
- # @example
25
- # [{:namespace=>"puppetlabs", :name=>"stdlib", :args=>[]},
26
- # {:namespace=>"petems", :name=>"swap_file", :args=>["'4.0.0'"]}]
27
- def modules(puppetfile)
28
- @modules ||= begin
29
- return [] unless File.exist?(puppetfile)
30
- all_lines = File.read(puppetfile).lines.map(&:strip_comment)
31
- # remove comments from all the lines
32
- lines_without_comments = all_lines.reject { |line| line.match(/#.*\n/) || line.empty? }.join("\n")
33
- lines_without_comments.split(/^mod/).map do |line|
34
-
35
- next nil if line =~ /^forge/
36
- next nil if line.empty?
21
+ # @param puppetfile [String] - the absolute path to the puppetfile
22
+ # @return [Array] - returns an array of module hashes that represent the puppetfile
23
+ # @example
24
+ # [{:namespace=>"puppetlabs", :name=>"stdlib", :args=>[]},
25
+ # {:namespace=>"petems", :name=>"swap_file", :args=>["'4.0.0'"]}]
26
+ def modules(puppetfile)
27
+ @modules ||= begin
28
+ return [] unless File.exist?(puppetfile)
37
29
 
38
- parse_module_args(line)
39
- end.compact.uniq
40
- end
41
- end
30
+ all_lines = File.read(puppetfile).lines.map(&:strip_comment)
31
+ # remove comments from all the lines
32
+ lines_without_comments = all_lines.reject { |line| line.match(/#.*\n/) || line.empty? }.join("\n")
33
+ lines_without_comments.split(/^mod/).map do |line|
34
+ next nil if /^forge/.match?(line)
35
+ next nil if line.empty?
42
36
 
43
- # @param data [String] - the string to parse the puppetfile args out of
44
- # @return [Array] - an array of arguments in hash form
45
- # @example
46
- # {:namespace=>"puppetlabs", :name=>"stdlib", :args=>[]}
47
- # {:namespace=>"petems", :name=>"swap_file", :args=>["'4.0.0'"]}
48
- def parse_module_args(data)
49
- return {} if data.empty?
50
- args = data.split(',').map(&:strip)
51
- # we can't guarantee that there will be a namespace when git is used
52
- # remove quotes and dash and slash
53
- namespace, name = args.shift.gsub(/'|"/, '').split(%r{-|/})
54
- name ||= namespace
55
- namespace = nil if namespace == name
56
- {
57
- namespace: namespace,
58
- name: name,
59
- args: process_args(args)
60
- }
37
+ parse_module_args(line)
38
+ end.compact.uniq
61
39
  end
40
+ end
41
+
42
+ # @param data [String] - the string to parse the puppetfile args out of
43
+ # @return [Array] - an array of arguments in hash form
44
+ # @example
45
+ # {:namespace=>"puppetlabs", :name=>"stdlib", :args=>[]}
46
+ # {:namespace=>"petems", :name=>"swap_file", :args=>["'4.0.0'"]}
47
+ def parse_module_args(data)
48
+ return {} if data.empty?
49
+
50
+ args = data.split(',').map(&:strip)
51
+ # we can't guarantee that there will be a namespace when git is used
52
+ # remove quotes and dash and slash
53
+ namespace, name = args.shift.gsub(/'|"/, '').split(%r{-|/})
54
+ name ||= namespace
55
+ namespace = nil if namespace == name
56
+ {
57
+ namespace: namespace,
58
+ name: name,
59
+ args: process_args(args),
60
+ }
61
+ end
62
62
 
63
- # @return [Array] - returns an array of hashes with the args in key value pairs
64
- # @param [Array] - the arguments processed from each entry in the puppetfile
65
- # @example
66
- # [{:args=>[], :name=>"razor", :namespace=>"puppetlabs"},
67
- # {:args=>[{:version=>"0.0.3"}], :name=>"ntp", :namespace=>"puppetlabs"},
68
- # {:args=>[], :name=>"inifile", :namespace=>"puppetlabs"},
69
- # {:args=>
70
- # [{:git=>"https://github.com/nwops/reportslack.git"}, {:ref=>"1.0.20"}],
71
- # :name=>"reportslack",
72
- # :namespace=>"nwops"},
73
- # {:args=>{:git=>"git://github.com/puppetlabs/puppetlabs-apt.git"},
74
- # :name=>"apt",
75
- # :namespace=>nil}
76
- # ]
77
- def process_args(args)
78
- results = {}
79
- args.each do |arg|
80
- a = arg.gsub(/'|"/, '').split(/\A\:|\:\s|\=\>/).map(&:strip).reject(&:empty?)
81
- if a.count < 2
82
- results[:version] = a.first
83
- else
84
- results[a.first.to_sym] = a.last
85
- end
63
+ # @return [Array] - returns an array of hashes with the args in key value pairs
64
+ # @param [Array] - the arguments processed from each entry in the puppetfile
65
+ # @example
66
+ # [{:args=>[], :name=>"razor", :namespace=>"puppetlabs"},
67
+ # {:args=>[{:version=>"0.0.3"}], :name=>"ntp", :namespace=>"puppetlabs"},
68
+ # {:args=>[], :name=>"inifile", :namespace=>"puppetlabs"},
69
+ # {:args=>
70
+ # [{:git=>"https://github.com/nwops/reportslack.git"}, {:ref=>"1.0.20"}],
71
+ # :name=>"reportslack",
72
+ # :namespace=>"nwops"},
73
+ # {:args=>{:git=>"git://github.com/puppetlabs/puppetlabs-apt.git"},
74
+ # :name=>"apt",
75
+ # :namespace=>nil}
76
+ # ]
77
+ def process_args(args)
78
+ results = {}
79
+ args.each do |arg|
80
+ a = arg.gsub(/'|"/, '').split(/\A:|:\s|=>/).map(&:strip).reject(&:empty?)
81
+ if a.count < 2
82
+ results[:version] = a.first
83
+ else
84
+ results[a.first.to_sym] = a.last
86
85
  end
87
- results
88
86
  end
87
+ results
89
88
  end
89
+ end
90
90
  end
data/lib/ra10ke/solve.rb CHANGED
@@ -27,18 +27,16 @@ module Ra10ke::Solve
27
27
  PuppetForge.user_agent = "ra10ke/#{Ra10ke::VERSION}"
28
28
  puppetfile = get_puppetfile
29
29
  puppetfile.load!
30
- PuppetForge.host = puppetfile.forge if puppetfile.forge =~ /^http/
30
+ PuppetForge.host = puppetfile.forge if /^http/.match?(puppetfile.forge)
31
31
 
32
32
  # ignore file allows for "don't tell me about this"
33
33
  ignore_modules = []
34
- if File.exist?('.r10kignore')
35
- ignore_modules = File.readlines('.r10kignore').each(&:chomp!)
36
- end
34
+ ignore_modules = File.readlines('.r10kignore').each(&:chomp!) if File.exist?('.r10kignore')
37
35
  # Actual new logic begins here:
38
36
  cache = (ENV['XDG_CACHE_DIR'] || File.expand_path('~/.cache'))
39
37
 
40
38
  FileUtils.mkdir_p(cache)
41
-
39
+
42
40
  # Metadata cache, since the Forge is slow:
43
41
  @metadata_cache = YAML::Store.new File.join(cache, 'ra10ke.metadata_cache')
44
42
  # The graph of available module versions
@@ -54,7 +52,8 @@ module Ra10ke::Solve
54
52
 
55
53
  puppetfile.modules.each do |puppet_module|
56
54
  next if ignore_modules.include? puppet_module.title
57
- if puppet_module.class == R10K::Module::Forge
55
+
56
+ if puppet_module.instance_of?(R10K::Module::Forge)
58
57
  module_name = puppet_module.title.tr('/', '-')
59
58
  installed_version = puppet_module.expected_version
60
59
  puts "Processing Forge module #{module_name}-#{installed_version}"
@@ -81,7 +80,8 @@ module Ra10ke::Solve
81
80
  add_reqs_to_graph(mod, meta)
82
81
  end
83
82
 
84
- next unless puppet_module.class == R10K::Module::Git
83
+ next unless puppet_module.instance_of?(R10K::Module::Git)
84
+
85
85
  # This downloads the git module to modules/modulename
86
86
  meta = fetch_git_metadata(puppet_module)
87
87
  version = get_key_or_sym(meta, :version)
@@ -97,9 +97,7 @@ module Ra10ke::Solve
97
97
  end
98
98
  puts
99
99
  puts 'Resolving dependencies...'
100
- if allow_major_bump
101
- puts 'WARNING: Potentially breaking updates are allowed for this resolution'
102
- end
100
+ puts 'WARNING: Potentially breaking updates are allowed for this resolution' if allow_major_bump
103
101
  result = Solve.it!(@graph, @demands, sorted: true)
104
102
  puts
105
103
  print_module_diff(@current_modules, result)
@@ -130,7 +128,7 @@ module Ra10ke::Solve
130
128
  return {
131
129
  version: '0.0.0',
132
130
  name: puppet_module.title,
133
- dependencies: []
131
+ dependencies: [],
134
132
  }
135
133
  end
136
134
  metadata = R10K::Module::MetadataFile.new(metadata_path)
@@ -138,7 +136,7 @@ module Ra10ke::Solve
138
136
  {
139
137
  version: metadata.version,
140
138
  name: metadata.name,
141
- dependencies: metadata.dependencies
139
+ dependencies: metadata.dependencies,
142
140
  }
143
141
  end
144
142
 
@@ -150,7 +148,7 @@ module Ra10ke::Solve
150
148
  # At least puppet-extlib has malformed metadata
151
149
  def get_version_req(dep)
152
150
  req = get_key_or_sym(dep, :version_requirement)
153
- req = get_key_or_sym(dep, :version_range) unless req
151
+ req ||= get_key_or_sym(dep, :version_range)
154
152
  req
155
153
  end
156
154
 
@@ -186,17 +184,14 @@ module Ra10ke::Solve
186
184
  # actually ask the solver for the versioned thing
187
185
  @demands.add(name) unless no_demands
188
186
  ver = get_version_req(dep)
189
- unless ver
190
- # no version specified, so anything will do
191
- ver = '>=0.0.0'
192
- end
193
- ver.split(/(?=[<])/).each do |bound|
187
+ ver ||= '>=0.0.0'
188
+ ver.split(/(?=<)/).each do |bound|
194
189
  bound.strip!
195
190
  v = begin
196
- Semverse::Constraint.new(bound)
197
- rescue
198
- nil
199
- end
191
+ Semverse::Constraint.new(bound)
192
+ rescue StandardError
193
+ nil
194
+ end
200
195
  if v
201
196
  artifact.depends(name, v.to_s)
202
197
  else
@@ -206,14 +201,16 @@ module Ra10ke::Solve
206
201
  # Find the dependency in the forge, unless it's already been processed
207
202
  # and add its releases to the global graph
208
203
  next unless @processed_modules.add?(name)
204
+
209
205
  puts "Fetching module info for #{name}"
210
206
  mod = begin
211
- PuppetForge::Module.find(name)
212
- rescue
213
- # It's probably a git module
214
- nil
215
- end
207
+ PuppetForge::Module.find(name)
208
+ rescue StandardError
209
+ # It's probably a git module
210
+ nil
211
+ end
216
212
  next unless mod # Git module, or non-forge dependency. Skip to next for now.
213
+
217
214
  # Fetching metadata for all releases takes ages (which is weird, since it's mostly static info)
218
215
  mod.releases.take(FETCH_LIMIT).each do |rel|
219
216
  meta = get_release_metadata(name, rel)
data/lib/ra10ke/syntax.rb CHANGED
@@ -1,18 +1,16 @@
1
1
  module Ra10ke::Syntax
2
2
  def define_task_syntax(*_args)
3
- desc "Syntax check Puppetfile"
3
+ desc 'Syntax check Puppetfile'
4
4
  task :syntax do
5
5
  require 'r10k/action/puppetfile/check'
6
6
 
7
7
  puppetfile = R10K::Action::Puppetfile::Check.new({
8
- :root => @basedir,
9
- :moduledir => @moduledir,
10
- :puppetfile => @puppetfile_path
11
- }, '')
8
+ root: @basedir,
9
+ moduledir: @moduledir,
10
+ puppetfile: @puppetfile_path,
11
+ }, '')
12
12
 
13
- unless puppetfile.call
14
- abort("Puppetfile syntax check failed")
15
- end
13
+ abort('Puppetfile syntax check failed') unless puppetfile.call
16
14
  end
17
15
  end
18
16
  end
@@ -8,7 +8,6 @@ require 'ra10ke/git_repo'
8
8
 
9
9
  module Ra10ke
10
10
  module Validate
11
-
12
11
  GOOD_EMOJI = ENV['GOOD_EMOJI'] || '👍'
13
12
  BAD_EMOJI = ENV['BAD_EMOJI'] || '😨'
14
13
 
@@ -64,7 +63,7 @@ module Ra10ke
64
63
  ref: ref,
65
64
  valid_url?: repo.valid_url?,
66
65
  valid_ref?: valid_ref,
67
- status: valid_ref ? Ra10ke::Validate::GOOD_EMOJI : Ra10ke::Validate::BAD_EMOJI
66
+ status: valid_ref ? Ra10ke::Validate::GOOD_EMOJI : Ra10ke::Validate::BAD_EMOJI,
68
67
  }
69
68
  end
70
69
  end
@@ -1,3 +1,3 @@
1
1
  module Ra10ke
2
- VERSION = "2.0.0"
2
+ VERSION = '3.0.0'
3
3
  end
data/lib/ra10ke.rb CHANGED
@@ -48,7 +48,8 @@ module Ra10ke
48
48
  def get_puppetfile
49
49
  R10K::Puppetfile.new(@basedir, @moduledir, @puppetfile_path, @puppetfile_name, @force)
50
50
  rescue ArgumentError # R10k < 2.6.0
51
- R10K::Puppetfile.new(@basedir, @moduledir, @puppetfile_path || File.join(@basedir, @puppetfile_name || 'Puppetfile'))
51
+ R10K::Puppetfile.new(@basedir, @moduledir,
52
+ @puppetfile_path || File.join(@basedir, @puppetfile_name || 'Puppetfile'))
52
53
  end
53
54
  end
54
55
  end
data/ra10ke.gemspec CHANGED
@@ -1,30 +1,30 @@
1
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'ra10ke/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "ra10ke"
6
+ spec.name = 'ra10ke'
7
7
  spec.version = Ra10ke::VERSION
8
- spec.authors = ["Theo Chatzimichos", "Vox Pupuli"]
9
- spec.email = ["voxpupuli@groups.io"]
10
- spec.description = %q{R10K and Puppetfile rake tasks}
11
- spec.summary = %q{Syntax check for the Puppetfile, check for outdated installed puppet modules}
12
- spec.homepage = "https://github.com/voxpupuli/ra10ke"
13
- spec.license = "MIT"
8
+ spec.authors = ['Theo Chatzimichos', 'Vox Pupuli']
9
+ spec.email = ['voxpupuli@groups.io']
10
+ spec.description = 'R10K and Puppetfile rake tasks'
11
+ spec.summary = 'Syntax check for the Puppetfile, check for outdated installed puppet modules'
12
+ spec.homepage = 'https://github.com/voxpupuli/ra10ke'
13
+ spec.license = 'MIT'
14
14
 
15
15
  spec.files = `git ls-files`.split($/)
16
- spec.require_paths = ["lib"]
17
- spec.required_ruby_version = '>= 2.6.0'
16
+ spec.require_paths = ['lib']
17
+ spec.required_ruby_version = '>= 2.7.0'
18
18
 
19
- spec.add_dependency "rake"
20
- spec.add_dependency "puppet_forge"
21
- spec.add_dependency "r10k", '>= 2.6.5'
22
- spec.add_dependency "git"
23
- spec.add_dependency "solve"
24
- spec.add_dependency 'semverse', '>= 2.0'
19
+ spec.add_dependency 'git', '~> 1.18'
20
+ spec.add_dependency 'puppet_forge', '~> 5.0', '>= 5.0.1'
21
+ spec.add_dependency 'r10k', '>= 2.6.5', '< 5'
22
+ spec.add_dependency 'rake', '~> 13.0', '>= 13.0.6'
23
+ spec.add_dependency 'semverse', '>= 2.0', '< 4'
24
+ spec.add_dependency 'solve', '~> 4.0', '>= 4.0.4'
25
25
  spec.add_dependency 'table_print', '~> 1.5.6'
26
+ spec.add_development_dependency 'pry', '~> 0.14.2'
26
27
  spec.add_development_dependency 'rspec', '~> 3.6'
27
- spec.add_development_dependency 'pry'
28
- spec.add_development_dependency 'simplecov'
28
+ spec.add_development_dependency 'simplecov', '~> 0.22.0'
29
+ spec.add_development_dependency 'voxpupuli-rubocop', '~> 2.0.0'
29
30
  end
30
-
@@ -5,8 +5,8 @@ mod 'puppet/ferm', :latest
5
5
  mod 'puppet/borg', :latest
6
6
  mod 'puppet/wireguard', :latest
7
7
  mod 'puppet/bird', :latest
8
- mod 'herculesteam/augeasproviders_pam', :latest
9
- mod 'herculesteam/augeasproviders_shellvar', :latest
8
+ mod 'puppet/augeasproviders_pam', :latest
9
+ mod 'puppet/augeasproviders_shellvar', :latest
10
10
  mod 'puppetlabs/vcsrepo', :latest
11
11
  mod 'saz/ssh', :latest
12
12
  mod 'puppet/r10k', :latest
@@ -22,8 +22,8 @@ mod 'theforeman/foreman', :latest
22
22
  mod 'theforeman/puppet', :latest
23
23
  mod 'theforeman/foreman_proxy', :latest
24
24
  mod 'puppet/nftables', :latest
25
- mod 'herculesteam/augeasproviders_sysctl', :latest
26
- mod 'camptocamp/catalog_diff', :latest
25
+ mod 'puppet/augeasproviders_sysctl', :latest
26
+ mod 'puppet/catalog_diff', :latest
27
27
  mod 'puppet/unattended_upgrades', :latest
28
28
  mod 'puppet/selinux', :latest
29
29
  mod 'choria/choria', :latest
@@ -34,7 +34,7 @@ mod 'jsok/vault',
34
34
  ref: 'test'
35
35
 
36
36
  # dependencies
37
- mod 'herculesteam/augeasproviders_core', :latest
37
+ mod 'puppet/augeasproviders_core', :latest
38
38
  mod 'puppetlabs/stdlib', :latest
39
39
  mod 'choria/mcollective', :latest
40
40
  mod 'puppetlabs/concat', :latest
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'r10k/puppetfile'
3
4
  require 'spec_helper'
4
5
  require 'ra10ke/dependencies'
@@ -8,7 +9,7 @@ RSpec::Mocks.configuration.allow_message_expectations_on_nil = true
8
9
 
9
10
  RSpec.describe 'Ra10ke::Dependencies::Verification' do
10
11
  let(:instance) do
11
- pfile = R10K::Puppetfile.new(File.basename(puppetfile), nil,puppetfile, nil, false)
12
+ pfile = R10K::Puppetfile.new(File.basename(puppetfile), nil, puppetfile, nil, false)
12
13
  Ra10ke::Dependencies::Verification.new(pfile)
13
14
  end
14
15
 
@@ -20,8 +21,9 @@ RSpec.describe 'Ra10ke::Dependencies::Verification' do
20
21
  it 'default contains semver' do
21
22
  expect(Ra10ke::Dependencies::Verification.version_formats).to have_key(:semver)
22
23
  end
24
+
23
25
  it 'add new version format' do
24
- Ra10ke::Dependencies::Verification.register_version_format(:test) do |tags|
26
+ Ra10ke::Dependencies::Verification.register_version_format(:test) do |_tags|
25
27
  nil
26
28
  end
27
29
  expect(Ra10ke::Dependencies::Verification.version_formats).to have_key(:test)
@@ -30,10 +32,10 @@ RSpec.describe 'Ra10ke::Dependencies::Verification' do
30
32
 
31
33
  context 'show output in table format' do
32
34
  let(:instance) do
33
- pfile = R10K::Puppetfile.new(File.basename(puppetfile), nil,puppetfile, nil, false)
35
+ pfile = R10K::Puppetfile.new(File.basename(puppetfile), nil, puppetfile, nil, false)
34
36
  Ra10ke::Dependencies::Verification.new(pfile)
35
37
  end
36
-
38
+
37
39
  let(:puppetfile) do
38
40
  File.join(fixtures_dir, 'Puppetfile')
39
41
  end
@@ -49,26 +51,24 @@ RSpec.describe 'Ra10ke::Dependencies::Verification' do
49
51
  it 'show dependencies as table' do
50
52
  instance.print_table(processed_modules)
51
53
  end
52
-
53
54
  end
54
55
 
55
56
  context 'get_latest_ref' do
56
-
57
57
  context 'find latest semver tag' do
58
58
  let(:latest_tag) do
59
- 'v1.1.0'
59
+ 'v1.1.0'
60
60
  end
61
61
  let(:test_tags) do
62
62
  {
63
- 'v1.0.0' => nil,
63
+ 'v1.0.0' => nil,
64
64
  latest_tag => nil,
65
65
  }
66
66
  end
67
67
 
68
68
  it do
69
69
  expect(instance.get_latest_ref({
70
- 'tags' => test_tags,
71
- })).to eq(latest_tag)
70
+ 'tags' => test_tags,
71
+ })).to eq(latest_tag)
72
72
  end
73
73
  end
74
74
 
@@ -78,7 +78,7 @@ RSpec.describe 'Ra10ke::Dependencies::Verification' do
78
78
  end
79
79
  let(:test_tags) do
80
80
  {
81
- 'dev' => nil,
81
+ 'dev' => nil,
82
82
  latest_tag => nil,
83
83
  }
84
84
  end
@@ -88,20 +88,19 @@ RSpec.describe 'Ra10ke::Dependencies::Verification' do
88
88
  tags.detect { |tag| tag == latest_tag }
89
89
  end
90
90
  expect(instance.get_latest_ref({
91
- 'tags' => test_tags,
92
- })).to eq(latest_tag)
91
+ 'tags' => test_tags,
92
+ })).to eq(latest_tag)
93
93
  end
94
94
  end
95
95
 
96
96
  context 'convert to ref' do
97
-
98
97
  it 'run rake task' do
99
98
  output_conversion = File.read(File.join(fixtures_dir, 'Puppetfile_git_conversion'))
100
99
  require 'ra10ke'
101
100
  Ra10ke::RakeTask.new do |t|
102
101
  t.basedir = fixtures_dir
103
102
  end
104
- expect{Rake::Task['r10k:print_git_conversion'].invoke}.to output(output_conversion).to_stdout
103
+ expect { Rake::Task['r10k:print_git_conversion'].invoke }.to output(output_conversion).to_stdout
105
104
  end
106
105
  end
107
106
  end
@@ -14,21 +14,24 @@ RSpec.describe 'Ra10ke::Deprecation::Validation' do
14
14
  end
15
15
 
16
16
  it 'only checks forge modules' do
17
- expect(PuppetForge::Module).to_not receive(:find).with('puppet')
17
+ expect(PuppetForge::Module).not_to receive(:find).with('puppet')
18
18
  allow(PuppetForge::Module).to receive(:find).and_raise(Faraday::ResourceNotFound.new(nil))
19
19
  expect(instance.deprecated_modules.count).to eq(0)
20
20
  end
21
21
 
22
22
  it 'handles deprecated modules' do
23
- expect(PuppetForge::Module).to receive(:find).with('puppetlabs-ruby').and_return(double(slug: 'puppetlabs-ruby', deprecated_at: '2021-04-22 10:29:42 -0700'))
23
+ expect(PuppetForge::Module).to receive(:find).with('puppetlabs-ruby').and_return(double(slug: 'puppetlabs-ruby',
24
+ deprecated_at: '2021-04-22 10:29:42 -0700'))
24
25
  allow(PuppetForge::Module).to receive(:find).and_return(double(slug: 'module-module', deprecated_at: nil))
25
26
 
26
27
  expect(instance.bad_mods?).to eq(true)
27
- expect(instance.deprecated_modules.first).to eq(name: 'puppetlabs-ruby', deprecated_at: Time.parse('2021-04-22 10:29:42 -0700'))
28
+ expect(instance.deprecated_modules.first).to eq(name: 'puppetlabs-ruby',
29
+ deprecated_at: Time.parse('2021-04-22 10:29:42 -0700'))
28
30
  end
29
31
 
30
32
  it 'handles missing modules' do
31
- expect(PuppetForge::Module).to receive(:find).with('choria-choria').and_return(double(slug: 'choria-choria', deprecated_at: nil))
33
+ expect(PuppetForge::Module).to receive(:find).with('choria-choria').and_return(double(slug: 'choria-choria',
34
+ deprecated_at: nil))
32
35
  expect(PuppetForge::Module).to receive(:find).with('puppetlabs-ruby').and_raise(Faraday::ResourceNotFound.new(nil))
33
36
  allow(PuppetForge::Module).to receive(:find).and_return(double(slug: 'module-module', deprecated_at: nil))
34
37