Skip to content

Commit

Permalink
Fixes #37431 - Fix Style/SoleNestedConditional cop
Browse files Browse the repository at this point in the history
  • Loading branch information
archanaserver committed May 9, 2024
1 parent aeb0ffa commit 968cf2d
Show file tree
Hide file tree
Showing 12 changed files with 26 additions and 44 deletions.
1 change: 0 additions & 1 deletion app/controllers/api/base_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,6 @@ def setup_search_options
query = " #{Regexp.last_match(1)} = #{value}"
params[:search] += query unless params[:search].include? query
end
end
end
end

Expand Down
1 change: 0 additions & 1 deletion app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,6 @@ def setup_search_options
params[:search] += query
end
end
end
end
end

Expand Down
3 changes: 2 additions & 1 deletion app/controllers/concerns/foreman/controller/users_mixin.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ def resource_scope(...)
protected

def clear_session_locale_on_update
if params[:user] && editing_self?
user_params = params[:user]
if user_params && editing_self? && user_params[:locale].blank?
# Remove locale from the session when set to "Browser Locale" and editing self
session.delete(:locale) if params[:user][:locale].try(:empty?)
end
Expand Down
4 changes: 1 addition & 3 deletions app/models/compute_resources/foreman/model/ovirt.rb
Original file line number Diff line number Diff line change
Expand Up @@ -619,11 +619,9 @@ def create_interfaces(vm, attrs, cluster_id)
raise Foreman::Exception.new("Interface network or vnic profile are missing.") if (interface[:network].nil? && interface[:vnic_profile].nil?)
interface[:network] = get_ovirt_id(cluster_networks, 'network', interface[:network]) if interface[:network].present?
interface[:vnic_profile] = get_ovirt_id(profiles, 'vnic profile', interface[:vnic_profile]) if interface[:vnic_profile].present?
if (interface[:network].present? && interface[:vnic_profile].present?)
unless (profiles.select { |profile| profile.network.id == interface[:network] }).present?
if interface[:network].present? && interface[:vnic_profile].present? && profiles.none? { |profile| profile.network.id == interface[:network] }
raise Foreman::Exception.new("Vnic Profile have a different network")
end
end
vm.add_interface(interface)
end
vm.interfaces.reload
Expand Down
8 changes: 3 additions & 5 deletions app/models/concerns/foreman/sti.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@ class << base
module ClassMethods
# ensures that the correct STI object is created when :type is passed.
def new(attributes = nil, &block)
if attributes.is_a?(Hash) && (type = attributes.with_indifferent_access.delete(:type)) && !type.empty?
if (klass = type.constantize) != self
raise "Invalid type #{type}" unless klass <= self
return klass.new(attributes, &block)
end
if attributes.is_a?(Hash) && (type = attributes.with_indifferent_access.delete(:type)).present? && (klass = type.constantize) != self
raise "Invalid type #{type}" unless klass <= self
return klass.new(attributes, &block)
end

super
Expand Down
23 changes: 11 additions & 12 deletions app/models/concerns/orchestration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -170,20 +170,19 @@ def process(queue_name)

rollback
ensure
unless q.nil?
if processed > 0
logger.info("Processed #{processed} tasks from queue '#{q.name}', completed #{q.completed.count}/#{q.all.count}") unless q.empty?
# rubocop:disable Rails/FindEach
q.all.each do |task|
msg = "Task '#{task.name}' *#{task.status}*"
if task.status?(:completed) || task.status?(:pending)
logger.debug msg
else
logger.error msg
end
# rubocop:enable Rails/FindEach
if !q.nil? && (processed > 0)
logger.info("Processed #{processed} tasks from queue '#{q.name}', completed #{q.completed.count}/#{q.all.count}") unless q.empty?
# rubocop:disable Rails/FindEach
q.all.each do |task|
msg = "Task '#{task.name}' *#{task.status}*"
if task.status?(:completed) || task.status?(:pending)
logger.debug msg
else
logger.error msg
end
# rubocop:enable Rails/FindEach
end
# rubocop:enable Rails/FindEach
end
end

Expand Down
6 changes: 2 additions & 4 deletions app/models/concerns/orchestration/dhcp.rb
Original file line number Diff line number Diff line change
Expand Up @@ -173,12 +173,10 @@ def dhcp_update_required?
(!old.build? && build? && !all_dhcp_records_valid?))
# Handle jumpstart
# TODO, abstract this way once interfaces are fully used
if is_a?(Host::Base) && jumpstart?
if !old.build? || (old.medium != medium || old.arch != arch) ||
(os && old.os && (old.os.name != os.name || old.os != os))
if is_a?(Host::Base) && jumpstart? && (!old.build? || (old.medium != medium || old.arch != arch) ||
(os && old.os && (old.os.name != os.name || old.os != os)))
return true
end
end
false
end

Expand Down
4 changes: 2 additions & 2 deletions app/models/concerns/strip_leading_and_trailing_dot.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ module StripLeadingAndTrailingDot
def strip_dots
changes.each do |column, values|
# return string if RuntimeError: can't modify frozen String
if values.last.is_a?(String) && dot_strip_attrs.include?(column)
send("#{column}=", values.last.gsub(/(^\.|\.$)/, '')) if respond_to?("#{column}=")
if values.last.is_a?(String) && dot_strip_attrs.include?(column) && respond_to?("#{column}=")
send("#{column}=", values.last.gsub(/(^\.|\.$)/, ''))
end
end
end
Expand Down
8 changes: 2 additions & 6 deletions app/models/template.rb
Original file line number Diff line number Diff line change
Expand Up @@ -299,17 +299,13 @@ def template_changes
actual_changes = changes

# Locked & Default are Special
if actual_changes.include?('locked') && !modify_locked
if User.current.nil? || !User.current.can?("lock_#{self.class.to_s.underscore.pluralize}", self)
if actual_changes.include?('locked') && !modify_locked && (User.current.nil? || !User.current.can?("lock_#{self.class.to_s.underscore.pluralize}", self))
errors.add(:base, _("You are not authorized to lock templates."))
end
end

if actual_changes.include?('default') && !modify_default
if User.current.nil? || !(User.current.can?(:create_organizations) || User.current.can?(:create_locations))
if actual_changes.include?('default') && !modify_default && (User.current.nil? || !(User.current.can?(:create_organizations) || User.current.can?(:create_locations)))
errors.add(:base, _("You are not authorized to make a template default."))
end
end

# API request can be changing the locked content (not allowed_changes) but the locked attribute at the same
# time, so if changes include locked attribute (template is being locked or unlocked), we skip the lock error
Expand Down
4 changes: 1 addition & 3 deletions app/registries/menu/item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ def initialize(name, options)
end

def to_hash
if @condition.present?
return unless @condition.call
end
return if @condition.present? && !@condition.call
{type: :item, exact: @exact, html_options: @html_options, name: @caption || @name, url: url} if authorized?
end

Expand Down
4 changes: 1 addition & 3 deletions app/services/ui_notifications/rss_notifications_checker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,7 @@ def deliver!
feed.items[0, @latest_posts].each do |feed_item|
item = Item.new(feed_item)
blueprint = rss_notification_blueprint
if notification_already_exists?(item)
next unless @force_repost
end
next if notification_already_exists?(item) && !@force_repost
Notification.create(
:initiator => User.anonymous_admin,
:audience => @audience,
Expand Down
4 changes: 1 addition & 3 deletions lib/net/dhcp/record.rb
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,7 @@ def eql_for_conflicts?(other)
# If we're converting an 'ad-hoc' lease created by a host booting outside of Foreman's knowledge,
# then :hostname will be blank on the incoming lease - if the ip/mac still match, then this
# isn't a conflict. Only applicable on legacy proxy API without "type" attribute.
if legacy_dhcp_api?
to_compare << :hostname if other.attrs[:hostname].present? && attrs[:hostname].present?
end
to_compare << :hostname if legacy_dhcp_api? && other.attrs[:hostname].present? && attrs[:hostname].present?

logger.debug "Comparing #{attrs.values_at(*to_compare)} == #{other.attrs.values_at(*to_compare)}"
attrs.values_at(*to_compare) == other.attrs.values_at(*to_compare)
Expand Down

0 comments on commit 968cf2d

Please sign in to comment.