```shell
❯ bundle exec rubocop -A
Inspecting 1856 files
Offenses:
app/controllers/admin/settings/mandatory_settings_controller.rb:17:57: C: [Corrected] Rails/CompactBlank: Use compact_blank instead.
settings_model.public_send("#{key}=", value.reject(&:blank?)) if value.present?
^^^^^^^^^^^^^^^^
app/controllers/users_controller.rb:66:58: C: [Corrected] Rails/CompactBlank: Use compact_blank instead.
Honeycomb.add_field("error", @user.errors.messages.reject { |_, v| v.empty? })
^^^^^^^^^^^^^^^^^^^^^^^^^^
app/controllers/users_controller.rb:280:58: C: [Corrected] Rails/CompactBlank: Use compact_blank instead.
Honeycomb.add_field("error", @user.errors.messages.reject { |_, v| v.empty? })
^^^^^^^^^^^^^^^^^^^^^^^^^^
app/models/settings/base.rb:111:54: C: [Corrected] Rails/CompactBlank: Use compact_blank instead.
value.split(separator || SEPARATOR_REGEXP).reject(&:empty?).map(&:strip)
^^^^^^^^^^^^^^^^
app/services/articles/feeds/weighted_query_strategy.rb:269:121: C: Layout/LineLength: Line is too long. [126/120] (https://rubystyle.guide#max-line-length)
def initialize(user: nil, number_of_articles: 50, page: 1, tag: nil, strategy: AbExperiment::ORIGINAL_VARIANT, **config)
^^^^^^
app/services/images/optimizer.rb:27:50: C: [Corrected] Rails/CompactBlank: Use compact_blank instead.
options = DEFAULT_CL_OPTIONS.merge(kwargs).reject { |_, v| v.blank? }
^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/images/optimizer.rb:46:68: C: [Corrected] Rails/CompactBlank: Use compact_blank instead.
options = DEFAULT_IMGPROXY_OPTIONS.merge(translated_options).reject { |_, v| v.blank? }
^^^^^^^^^^^^^^^^^^^^^^^^^^
app/services/settings/upsert.rb:30:55: C: [Corrected] Rails/CompactBlank: Use compact_blank instead.
settings_class.public_send("#{key}=", value.reject(&:blank?))
^^^^^^^^^^^^^^^^
1856 files inspected, 8 offenses detected, 7 offenses corrected
```
After this commit:
```shell
❯ bundle exec rubocop
Inspecting 1856 files
1856 files inspected, no offenses detected
```
1856 files inspected, no offenses detected
39 lines
1 KiB
Ruby
39 lines
1 KiB
Ruby
module Admin
|
|
module Settings
|
|
class MandatorySettingsController < Admin::Settings::BaseController
|
|
Result = Struct.new(:errors) do
|
|
def success?
|
|
errors.none?
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def upsert_config(configs)
|
|
errors = []
|
|
configs.each do |key, value|
|
|
settings_model = ::Settings::Mandatory::MAPPINGS[key.to_sym]
|
|
if value.is_a?(Array)
|
|
settings_model.public_send("#{key}=", value.compact_blank) if value.present?
|
|
else
|
|
settings_model.public_send("#{key}=", value.strip) unless value.nil?
|
|
end
|
|
rescue ActiveRecord::RecordInvalid => e
|
|
errors << e.message
|
|
next
|
|
end
|
|
Result.new(errors)
|
|
end
|
|
|
|
# NOTE: we need to override this since the controller name doesn't reflect
|
|
# the model name
|
|
def authorization_resource
|
|
::Settings::Mandatory
|
|
end
|
|
|
|
def settings_params
|
|
params.permit(::Settings::Mandatory.keys)
|
|
end
|
|
end
|
|
end
|
|
end
|