From f330f4a65b15de7fa8ad57be93c8b47b124a63ea Mon Sep 17 00:00:00 2001 From: Gavin Didrichsen Date: Thu, 13 Jun 2024 13:22:54 +0100 Subject: [PATCH 1/4] Revert "(maint) Exclude breaking rubocop versions" --- Gemfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Gemfile b/Gemfile index 6312f4da..ecc46ab2 100644 --- a/Gemfile +++ b/Gemfile @@ -39,8 +39,6 @@ group :development do gem 'rubocop', '~> 1.50.0', require: false gem 'rubocop-performance', '~> 1.16', require: false gem 'rubocop-rspec', '~> 2.19', require: false - gem 'rubocop-factory_bot', '!= 2.26.0', require: false - gem 'rubocop-rspec_rails', '!= 2.29.0', require: false gem 'serverspec' gem 'simplecov', require: false From 542aff8e95b7e787e3e29d23a90bcb3e8621f516 Mon Sep 17 00:00:00 2001 From: Gavin Didrichsen Date: Thu, 13 Jun 2024 13:23:44 +0100 Subject: [PATCH 2/4] Update rubocop gems --- Gemfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index ecc46ab2..5755615e 100644 --- a/Gemfile +++ b/Gemfile @@ -36,9 +36,9 @@ group :development do gem 'rspec', '~> 3.1' gem 'rspec-its', '~> 1.0' - gem 'rubocop', '~> 1.50.0', require: false + gem 'rubocop', '~> 1.64.0', require: false gem 'rubocop-performance', '~> 1.16', require: false - gem 'rubocop-rspec', '~> 2.19', require: false + gem 'rubocop-rspec', '~> 3.0', require: false gem 'serverspec' gem 'simplecov', require: false From 90356a8050ed1a9253258c881cc5df2e41a8fb72 Mon Sep 17 00:00:00 2001 From: Gavin Didrichsen Date: Thu, 20 Jun 2024 12:21:46 +0100 Subject: [PATCH 3/4] Remove deprecated Rspec/FilePath Signed-off-by: Gavin Didrichsen --- .rubocop.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index d0577de1..3e374020 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -20,11 +20,3 @@ Style/ClassAndModuleChildren: Layout/LineLength: Max: 200 - -#################################################### -# Cops below here due for deprecation -#################################################### -# ``Rspec/FilePath`` is going to be deprecated in the next major release of rubocop >=3.0.0: see -# As the new cops are already present, e.g., Rspec/SpecFilePathPathFormat, then disabling this in preparation -RSpec/FilePath: - Enabled: false From ca1498e26a225d85fbb9b9e5d8157825aec8e9ce Mon Sep 17 00:00:00 2001 From: Gavin Didrichsen Date: Thu, 20 Jun 2024 12:22:00 +0100 Subject: [PATCH 4/4] Fix rubocop warnings Signed-off-by: Gavin Didrichsen --- lib/puppet-strings/yard/code_objects/task.rb | 12 +++++------- .../yard/handlers/ruby/provider_handler.rb | 5 ++--- lib/puppet-strings/yard/parsers/puppet/statement.rb | 12 ++++++------ lib/puppet-strings/yard/tags/overload_tag.rb | 2 +- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/lib/puppet-strings/yard/code_objects/task.rb b/lib/puppet-strings/yard/code_objects/task.rb index a94ff8d6..e1f8cb32 100644 --- a/lib/puppet-strings/yard/code_objects/task.rb +++ b/lib/puppet-strings/yard/code_objects/task.rb @@ -44,14 +44,12 @@ def source end def parameters - parameters = [] - statement.parameters.each do |name, props| - parameters.push({ name: name.to_s, - tag_name: 'param', - text: props['description'] || '', - types: [props['type']] || '' }) + statement.parameters.map do |name, props| + { name: name.to_s, + tag_name: 'param', + text: props['description'] || '', + types: [props['type']] || '' } end - parameters end # Converts the code object to a hash representation. diff --git a/lib/puppet-strings/yard/handlers/ruby/provider_handler.rb b/lib/puppet-strings/yard/handlers/ruby/provider_handler.rb index 8f16f991..9ce6213a 100644 --- a/lib/puppet-strings/yard/handlers/ruby/provider_handler.rb +++ b/lib/puppet-strings/yard/handlers/ruby/provider_handler.rb @@ -107,9 +107,8 @@ def populate_provider_data(object) parameters.each do |kvps| next unless kvps.count >= 1 - defaultfor = [] - kvps.each do |kvp| - defaultfor << [node_as_string(kvp[0]) || kvp[0].source, node_as_string(kvp[1]) || kvp[1].source] + defaultfor = kvps.map do |kvp| + [node_as_string(kvp[0]) || kvp[0].source, node_as_string(kvp[1]) || kvp[1].source] end object.add_default(defaultfor) end diff --git a/lib/puppet-strings/yard/parsers/puppet/statement.rb b/lib/puppet-strings/yard/parsers/puppet/statement.rb index 07102494..f61568e8 100644 --- a/lib/puppet-strings/yard/parsers/puppet/statement.rb +++ b/lib/puppet-strings/yard/parsers/puppet/statement.rb @@ -92,7 +92,7 @@ def initialize(parameter) # @param object The Puppet parser model object that has parameters. # @param [String] file The file containing the statement. def initialize(object, file) - super(object, file) + super @parameters = object.parameters.map { |parameter| Parameter.new(parameter) } end end @@ -105,7 +105,7 @@ class ClassStatement < ParameterizedStatement # @param [Puppet::Pops::Model::HostClassDefinition] object The model object for the class statement. # @param [String] file The file containing the statement. def initialize(object, file) - super(object, file) + super @name = object.name @parent_class = object.parent_class end @@ -119,7 +119,7 @@ class DefinedTypeStatement < ParameterizedStatement # @param [Puppet::Pops::Model::ResourceTypeDefinition] object The model object for the defined type statement. # @param [String] file The file containing the statement. def initialize(object, file) - super(object, file) + super @name = object.name end end @@ -132,7 +132,7 @@ class FunctionStatement < ParameterizedStatement # @param [Puppet::Pops::Model::FunctionDefinition] object The model object for the function statement. # @param [String] file The file containing the statement. def initialize(object, file) - super(object, file) + super @name = object.name return unless object.respond_to? :return_type @@ -151,7 +151,7 @@ class PlanStatement < ParameterizedStatement # @param [Puppet::Pops::Model::PlanDefinition] object The model object for the plan statement. # @param [String] file The file containing the statement. def initialize(object, file) - super(object, file) + super @name = object.name end end @@ -164,7 +164,7 @@ class DataTypeAliasStatement < Statement # @param [Puppet::Pops::Model::TypeAlias] object The model object for the type statement. # @param [String] file The file containing the statement. def initialize(object, file) - super(object, file) + super type_expr = object.type_expr case type_expr diff --git a/lib/puppet-strings/yard/tags/overload_tag.rb b/lib/puppet-strings/yard/tags/overload_tag.rb index 8ae29425..04d0431f 100644 --- a/lib/puppet-strings/yard/tags/overload_tag.rb +++ b/lib/puppet-strings/yard/tags/overload_tag.rb @@ -65,7 +65,7 @@ def has_tag?(name) # rubocop:disable Naming/PredicateName # @param [Object] value The object to associate with this tag. # @return [void] def object=(value) - super(value) + super @docstring.object = value @docstring.tags.each { |tag| tag.object = value } end