diff --git a/.rubocop.yml b/.rubocop.yml index 7e5adc8643..e228e2cbf9 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -202,6 +202,9 @@ Style/RaiseArgs: Style/RedundantArgument: Enabled: true +Style/RedundantParentheses: + Enabled: false + Style/RedundantSelfAssignmentBranch: Enabled: true diff --git a/lib/rails_admin/adapters/active_record.rb b/lib/rails_admin/adapters/active_record.rb index 1c165d265a..e3a8f5bc2e 100644 --- a/lib/rails_admin/adapters/active_record.rb +++ b/lib/rails_admin/adapters/active_record.rb @@ -172,7 +172,7 @@ def query_scope(scope, query, fields = config.list.fields.select(&:queryable?)) # "0055" is the filter index, no use here. o is the operator, v the value def filter_scope(scope, filters, fields = config.list.fields.select(&:filterable?)) filters.each_pair do |field_name, filters_dump| - filters_dump.each do |_, filter_dump| + filters_dump.each_value do |filter_dump| wb = WhereBuilder.new(scope) field = fields.detect { |f| f.name.to_s == field_name } value = parse_field_value(field, filter_dump[:v]) @@ -256,7 +256,8 @@ def build_statement_for_type def build_statement_for_boolean return ["(#{@column} IS NULL OR #{@column} = ?)", false] if %w[false f 0].include?(@value) - return ["(#{@column} = ?)", true] if %w[true t 1].include?(@value) + + ["(#{@column} = ?)", true] if %w[true t 1].include?(@value) end def column_for_value(value) diff --git a/lib/rails_admin/adapters/active_record/association.rb b/lib/rails_admin/adapters/active_record/association.rb index c31d00e48f..8825887372 100644 --- a/lib/rails_admin/adapters/active_record/association.rb +++ b/lib/rails_admin/adapters/active_record/association.rb @@ -71,9 +71,9 @@ def foreign_inverse_of def key_accessor case type when :has_many, :has_and_belongs_to_many - "#{name.to_s.singularize}_ids".to_sym + :"#{name.to_s.singularize}_ids" when :has_one - "#{name}_id".to_sym + :"#{name}_id" else foreign_key end diff --git a/lib/rails_admin/adapters/mongoid.rb b/lib/rails_admin/adapters/mongoid.rb index 7aa947fa59..ac46f5d3b0 100644 --- a/lib/rails_admin/adapters/mongoid.rb +++ b/lib/rails_admin/adapters/mongoid.rb @@ -152,7 +152,7 @@ def filter_scope(scope, filters, fields = config.list.fields.select(&:filterable statements = [] filters.each_pair do |field_name, filters_dump| - filters_dump.each do |_, filter_dump| + filters_dump.each_value do |filter_dump| field = fields.detect { |f| f.name.to_s == field_name } next unless field @@ -251,7 +251,8 @@ def build_statement_for_type def build_statement_for_boolean return {@column => false} if %w[false f 0].include?(@value) - return {@column => true} if %w[true t 1].include?(@value) + + {@column => true} if %w[true t 1].include?(@value) end def column_for_value(value) diff --git a/lib/rails_admin/adapters/mongoid/association.rb b/lib/rails_admin/adapters/mongoid/association.rb index 726fbd6a24..856e9286e9 100644 --- a/lib/rails_admin/adapters/mongoid/association.rb +++ b/lib/rails_admin/adapters/mongoid/association.rb @@ -92,9 +92,9 @@ def foreign_inverse_of def key_accessor case macro.to_sym when :has_many - "#{name.to_s.singularize}_ids".to_sym + :"#{name.to_s.singularize}_ids" when :has_one - "#{name}_id".to_sym + :"#{name}_id" when :embedded_in, :embeds_one, :embeds_many nil else diff --git a/lib/rails_admin/config/fields/base.rb b/lib/rails_admin/config/fields/base.rb index d57803a416..65def4dc27 100644 --- a/lib/rails_admin/config/fields/base.rb +++ b/lib/rails_admin/config/fields/base.rb @@ -357,7 +357,7 @@ def generic_help def generic_field_help model = abstract_model.model_name.underscore - model_lookup = "admin.help.#{model}.#{name}".to_sym + model_lookup = :"admin.help.#{model}.#{name}" translated = I18n.translate(model_lookup, help: generic_help, default: [generic_help]) (translated.is_a?(Hash) ? translated.to_a.first[1] : translated).html_safe end diff --git a/lib/rails_admin/config/fields/factories/active_storage.rb b/lib/rails_admin/config/fields/factories/active_storage.rb index 4ac9bb18af..82f5f1d7b0 100644 --- a/lib/rails_admin/config/fields/factories/active_storage.rb +++ b/lib/rails_admin/config/fields/factories/active_storage.rb @@ -13,9 +13,9 @@ fields << field associations = if properties.type == :has_many - ["#{name}_attachments".to_sym, "#{name}_blobs".to_sym] + [:"#{name}_attachments", :"#{name}_blobs"] else - ["#{name}_attachment".to_sym, "#{name}_blob".to_sym] + [:"#{name}_attachment", :"#{name}_blob"] end children_fields = associations.map do |child_name| child_association = parent.abstract_model.associations.detect { |p| p.name.to_sym == child_name } diff --git a/lib/rails_admin/config/fields/factories/carrierwave.rb b/lib/rails_admin/config/fields/factories/carrierwave.rb index c9295f9a78..af1a659f3d 100644 --- a/lib/rails_admin/config/fields/factories/carrierwave.rb +++ b/lib/rails_admin/config/fields/factories/carrierwave.rb @@ -7,7 +7,7 @@ RailsAdmin::Config::Fields.register_factory do |parent, properties, fields| model = parent.abstract_model.model if defined?(::CarrierWave) && model.is_a?(CarrierWave::Mount) && model.uploaders.include?(attachment_name = properties.name.to_s.chomp('_file_name').to_sym) - columns = [model.uploader_options[attachment_name][:mount_on] || attachment_name, "#{attachment_name}_content_type".to_sym, "#{attachment_name}_file_size".to_sym] + columns = [model.uploader_options[attachment_name][:mount_on] || attachment_name, :"#{attachment_name}_content_type", :"#{attachment_name}_file_size"] field = RailsAdmin::Config::Fields::Types.load( %i[serialized json].include?(properties.type) ? :multiple_carrierwave : :carrierwave, ).new(parent, attachment_name, properties) diff --git a/lib/rails_admin/config/fields/factories/dragonfly.rb b/lib/rails_admin/config/fields/factories/dragonfly.rb index 2fcd5b57bb..b3e400c3ba 100644 --- a/lib/rails_admin/config/fields/factories/dragonfly.rb +++ b/lib/rails_admin/config/fields/factories/dragonfly.rb @@ -10,7 +10,7 @@ field = RailsAdmin::Config::Fields::Types.load(:dragonfly).new(parent, attachment_name, properties) children_fields = [] extensions.each do |ext| - children_column_name = "#{attachment_name}_#{ext}".to_sym + children_column_name = :"#{attachment_name}_#{ext}" child_properties = parent.abstract_model.properties.detect { |p| p.name.to_s == children_column_name.to_s } next unless child_properties diff --git a/lib/rails_admin/config/fields/factories/paperclip.rb b/lib/rails_admin/config/fields/factories/paperclip.rb index 9f95d4b09b..623be41b8c 100644 --- a/lib/rails_admin/config/fields/factories/paperclip.rb +++ b/lib/rails_admin/config/fields/factories/paperclip.rb @@ -11,7 +11,7 @@ field = RailsAdmin::Config::Fields::Types.load(:paperclip).new(parent, attachment_name, properties) children_fields = [] extensions.each do |ext| - children_column_name = "#{attachment_name}_#{ext}".to_sym + children_column_name = :"#{attachment_name}_#{ext}" child_properties = parent.abstract_model.properties.detect { |p| p.name.to_s == children_column_name.to_s } next unless child_properties diff --git a/lib/rails_admin/config/fields/factories/shrine.rb b/lib/rails_admin/config/fields/factories/shrine.rb index 6ed86c675a..69febad6c3 100644 --- a/lib/rails_admin/config/fields/factories/shrine.rb +++ b/lib/rails_admin/config/fields/factories/shrine.rb @@ -16,7 +16,7 @@ field = RailsAdmin::Config::Fields::Types.load(:shrine).new(parent, attachment_name, properties) fields << field - data_field_name = "#{attachment_name}_data".to_sym + data_field_name = :"#{attachment_name}_data" child_properties = parent.abstract_model.properties.detect { |p| p.name == data_field_name } next true unless child_properties diff --git a/lib/rails_admin/config/fields/types/belongs_to_association.rb b/lib/rails_admin/config/fields/types/belongs_to_association.rb index 88f91474d2..4e469e2ad4 100644 --- a/lib/rails_admin/config/fields/types/belongs_to_association.rb +++ b/lib/rails_admin/config/fields/types/belongs_to_association.rb @@ -38,7 +38,7 @@ def selected_id end def method_name - nested_form ? "#{name}_attributes".to_sym : super + nested_form ? :"#{name}_attributes" : super end def multiple? diff --git a/lib/rails_admin/config/fields/types/has_many_association.rb b/lib/rails_admin/config/fields/types/has_many_association.rb index 93a289f8a0..a2d51d6215 100644 --- a/lib/rails_admin/config/fields/types/has_many_association.rb +++ b/lib/rails_admin/config/fields/types/has_many_association.rb @@ -20,7 +20,7 @@ class HasManyAssociation < RailsAdmin::Config::Fields::Association end def method_name - nested_form ? "#{name}_attributes".to_sym : super + nested_form ? :"#{name}_attributes" : super end # Reader for validation errors of the bound object diff --git a/lib/rails_admin/config/fields/types/has_one_association.rb b/lib/rails_admin/config/fields/types/has_one_association.rb index f6219a7fd3..3a5804e933 100644 --- a/lib/rails_admin/config/fields/types/has_one_association.rb +++ b/lib/rails_admin/config/fields/types/has_one_association.rb @@ -28,7 +28,7 @@ def selected_id end def method_name - nested_form ? "#{name}_attributes".to_sym : super + nested_form ? :"#{name}_attributes" : super end def multiple? diff --git a/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb b/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb index 635063cee5..a9834aa616 100644 --- a/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +++ b/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb @@ -146,7 +146,7 @@ def listing_for_model_or_object(model, object, query, sort, sort_reverse, all, p versions = object.nil? ? versions_for_model(model) : object.public_send(model.model.versions_association_name) versions = versions.where('event LIKE ?', "%#{query}%") if query.present? versions = versions.order(sort) - versions = all ? versions : versions.send(Kaminari.config.page_method_name, current_page).per(per_page) + versions = versions.send(Kaminari.config.page_method_name, current_page).per(per_page) unless all paginated_proxies = Kaminari.paginate_array([], total_count: versions.try(:total_count) || versions.count) paginated_proxies = paginated_proxies.send( paginated_proxies.respond_to?(Kaminari.config.page_method_name) ? Kaminari.config.page_method_name : :page, diff --git a/spec/dummy_app/config/initializers/application_controller_renderer.rb b/spec/dummy_app/config/initializers/application_controller_renderer.rb index 315ac48a9a..6e2d5d2b87 100644 --- a/spec/dummy_app/config/initializers/application_controller_renderer.rb +++ b/spec/dummy_app/config/initializers/application_controller_renderer.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # ApplicationController.renderer.defaults.merge!( diff --git a/spec/dummy_app/config/initializers/backtrace_silencers.rb b/spec/dummy_app/config/initializers/backtrace_silencers.rb index d0f0d3b5df..4b63f2893d 100644 --- a/spec/dummy_app/config/initializers/backtrace_silencers.rb +++ b/spec/dummy_app/config/initializers/backtrace_silencers.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. diff --git a/spec/dummy_app/config/initializers/cors.rb b/spec/dummy_app/config/initializers/cors.rb index 5f68d44d3c..82eafe5ca4 100644 --- a/spec/dummy_app/config/initializers/cors.rb +++ b/spec/dummy_app/config/initializers/cors.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Avoid CORS issues when API is called from the frontend app. diff --git a/spec/dummy_app/config/initializers/inflections.rb b/spec/dummy_app/config/initializers/inflections.rb index aa7435fbc9..dc84742212 100644 --- a/spec/dummy_app/config/initializers/inflections.rb +++ b/spec/dummy_app/config/initializers/inflections.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Add new inflection rules using the following format. Inflections diff --git a/spec/dummy_app/config/initializers/mime_types.rb b/spec/dummy_app/config/initializers/mime_types.rb index 6e1d16f027..be6fedc535 100644 --- a/spec/dummy_app/config/initializers/mime_types.rb +++ b/spec/dummy_app/config/initializers/mime_types.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Add new mime types for use in respond_to blocks: diff --git a/spec/integration/fields/multiple_file_upload_spec.rb b/spec/integration/fields/multiple_file_upload_spec.rb index 34bbfb0798..5446924246 100644 --- a/spec/integration/fields/multiple_file_upload_spec.rb +++ b/spec/integration/fields/multiple_file_upload_spec.rb @@ -17,7 +17,7 @@ def resource_url(_thumb = false) delete_method 'boolean_field' reorderable true def value - bindings[:object].safe_send(name)&.split(' ') + bindings[:object].safe_send(name)&.split end end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 96846770d8..43e24097eb 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -102,7 +102,7 @@ CI_TARGET_ORMS.each do |orm| if orm == CI_ORM - config.filter_run_excluding "skip_#{orm}".to_sym => true + config.filter_run_excluding "skip_#{orm}": true else config.filter_run_excluding orm => true end