mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-22 00:57:26 +00:00
Inspecting 1480 files
...................................................................................................................................................................C.......C..........C...............................................................................................................................................................................................................C...........................................................................................................C.........C...............................................................................................................................................................................................................................................................C........................................CC...C............................................................................................................................................................................................................................................................................................................................C.....................................................................................................................................................................................................C..............C.........C..CC.......C.....................................................................................................C...............
Offenses:
app/helpers/application_helper.rb:41:32: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def ng_form_for(name, *args, &block)
^^^^^^
app/helpers/application_helper.rb:44:75: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
form_for(name, *(args << options.merge(builder: AngularFormBuilder)), &block)
^^^^^^
app/helpers/application_helper.rb:49:37: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def method_missing(method, *args, &block)
^^^^^^
app/helpers/link_helper.rb:4:57: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def link_to_service(baseurl, name, html_options = {}, &block)
^^^^^^
app/helpers/link_helper.rb:8:51: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
link_to ext_url(baseurl, name), html_options, &block
^^^^^^
app/helpers/spree/admin/base_helper.rb:6:56: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def field_container(model, method, options = {}, &block)
^^^^^^
app/helpers/spree/admin/base_helper.rb:13:29: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
capture(&block),
^^^^^^
app/reflexes/application_reflex.rb:29:19: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def with_locale(&block)
^^^^^^
app/reflexes/application_reflex.rb:30:43: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
I18n.with_locale(current_user.locale, &block)
^^^^^^
app/services/cache_service.rb:8:43: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def self.cache(cache_key, options = {}, &block)
^^^^^^
app/services/cache_service.rb:9:48: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
Rails.cache.fetch cache_key.to_s, options, &block
^^^^^^
app/services/cache_service.rb:14:58: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def self.cached_data_by_class(cache_key, cached_class, &block)
^^^^^^
app/services/cache_service.rb:16:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
&block
^^^^^^
app/services/cache_service.rb:25:34: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def self.home_stats(statistic, &block)
^^^^^^
app/services/cache_service.rb:28:47: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
race_condition_ttl: 10, &block)
^^^^^^
app/services/current_order_locker.rb:12:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def self.around(controller, &block)
^^^^^^
app/services/current_order_locker.rb:13:55: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
lock_order_and_variants(controller.current_order, &block)
^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:392:28: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def chain_to_scope(&block)
^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:393:41: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
@scope = @scope.instance_eval(&block)
^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:7:34: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def respond_with(*resources, &block)
^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:13:64: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
return unless (collector = retrieve_collector_from_mimes(&block))
^^^^^^
lib/spree/core/delegate_belongs_to.rb:80:39: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def class_def(name, method = nil, &blk)
^^^^
lib/spree/core/delegate_belongs_to.rb:81:54: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
class_eval { method.nil? ? define_method(name, &blk) : define_method(name, method) }
^^^^
lib/spree/core/environment_extension.rb:22:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def create_method(name, &block)
^^^^^^
lib/spree/core/environment_extension.rb:23:51: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
self.class.__send__(:define_method, name, &block)
^^^^^^
spec/models/enterprise_caching_spec.rb:144:13: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def later(&block)
^^^^^^
spec/models/enterprise_caching_spec.rb:145:36: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
Timecop.travel(1.day.from_now, &block)
^^^^^^
spec/support/embedded_pages_helper.rb:5:26: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def on_embedded_page(&block)
^^^^^^
spec/support/embedded_pages_helper.rb:6:28: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
within_frame :frame, &block
^^^^^^
spec/support/preferences_helper.rb:11:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def reset_spree_preferences(&config_block)
^^^^^^^^^^^^^
spec/support/preferences_helper.rb:16:33: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
configure_spree_preferences(&config_block) if block_given?
^^^^^^^^^^^^^
spec/support/request/shop_workflow.rb:87:37: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def within_variant(variant = nil, &block)
^^^^^^
spec/support/request/shop_workflow.rb:90:22: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
within(selector, &block)
^^^^^^
spec/support/request/ui_component_helper.rb:4:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def browse_as_small(&block)
^^^^^^
spec/support/request/ui_component_helper.rb:5:39: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
browse_with_window_size(640, 480, &block)
^^^^^^
spec/support/request/ui_component_helper.rb:8:24: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def browse_as_medium(&block)
^^^^^^
spec/support/request/ui_component_helper.rb:9:40: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
browse_with_window_size(1024, 768, &block)
^^^^^^
spec/support/request/web_helper.rb:52:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def within_row(num, &block)
^^^^^^
spec/support/request/web_helper.rb:53:54: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
within("table.index tbody tr:nth-child(#{num})", &block)
^^^^^^
spec/swagger_helper.rb:77:19: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def param(args, &block)
^^^^^^
spec/swagger_helper.rb:78:45: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
public_send(:let, args) { instance_eval(&block) }
^^^^^^
spec/system/support/capybara_setup.rb:20:27: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def using_session(name, &block)
^^^^^^
1480 files inspected, 42 offenses detected, 42 offenses corrected
163 lines
6.0 KiB
Ruby
163 lines
6.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Spree
|
|
module Admin
|
|
module BaseHelper
|
|
def field_container(model, method, options = {}, &)
|
|
css_classes = options[:class].to_a
|
|
css_classes << 'field'
|
|
if error_message_on(model, method).present?
|
|
css_classes << 'withError'
|
|
end
|
|
content_tag(:div,
|
|
capture(&),
|
|
class: css_classes.join(' '),
|
|
id: "#{model}_#{method}_field")
|
|
end
|
|
|
|
def error_message_on(object, method, _options = {})
|
|
object = convert_to_model(object)
|
|
obj = object.respond_to?(:errors) ? object : instance_variable_get("@#{object}")
|
|
|
|
if obj && obj.errors[method].present?
|
|
errors = obj.errors[method].map { |err| h(err) }.join('<br />').html_safe
|
|
content_tag(:span, errors, class: 'formError')
|
|
else
|
|
''
|
|
end
|
|
end
|
|
|
|
def preference_field_tag(name, value, options)
|
|
case options[:type]
|
|
when :integer, :decimal
|
|
number_field_tag(name, value, preference_field_options(options))
|
|
when :boolean
|
|
hidden_field_tag(name, 0) +
|
|
check_box_tag(name, 1, value, preference_field_options(options))
|
|
when :string
|
|
text_field_tag(name, value, preference_field_options(options))
|
|
when :password
|
|
password_field_tag(name, value, preference_field_options(options))
|
|
when :text
|
|
text_area_tag(name, value, preference_field_options(options))
|
|
when :file
|
|
file_field_tag name, preference_field_options(options)
|
|
else
|
|
text_field_tag(name, value, preference_field_options(options))
|
|
end
|
|
end
|
|
|
|
def preference_field_for(form, field, options, object)
|
|
case options[:type]
|
|
when :integer, :decimal
|
|
form.number_field(field, preference_field_options(options))
|
|
when :boolean
|
|
form.check_box(field, preference_field_options(options))
|
|
when :string
|
|
preference_field_for_text_field(form, field, options, object)
|
|
when :password
|
|
form.password_field(field, preference_field_options(options))
|
|
when :text
|
|
form.text_area(field, preference_field_options(options))
|
|
else
|
|
form.text_field(field, preference_field_options(options))
|
|
end
|
|
end
|
|
|
|
# Here we show a text field for all string fields except when the field name ends in
|
|
# "_from_list", in that case we render a dropdown.
|
|
# In this specific case, to render the dropdown, the object provided must have a method named
|
|
# like "#{field}_values" that returns an array with the string options to be listed.
|
|
def preference_field_for_text_field(form, field, options, object)
|
|
if field.end_with?('_from_list') && object.respond_to?("#{field}_values")
|
|
list_values = object.__send__("#{field}_values")
|
|
selected_value = object.__send__(field)
|
|
form.select(field, options_for_select(list_values, selected_value),
|
|
preference_field_options(options))
|
|
else
|
|
form.text_field(field, preference_field_options(options))
|
|
end
|
|
end
|
|
|
|
def preference_field_options(options)
|
|
field_options =
|
|
case options[:type]
|
|
when :integer
|
|
{ size: 10, class: 'input_integer', step: 1 }
|
|
when :decimal
|
|
# Allow any number of decimal places
|
|
{ size: 10, class: 'input_integer', step: :any }
|
|
when :boolean
|
|
{}
|
|
when :string
|
|
{ size: 10, class: 'input_string fullwidth' }
|
|
when :password
|
|
{ size: 10, class: 'password_string fullwidth' }
|
|
when :text
|
|
{ rows: 15, cols: 85, class: 'fullwidth' }
|
|
else
|
|
{ size: 10, class: 'input_string fullwidth' }
|
|
end
|
|
|
|
field_options.merge!(
|
|
readonly: options[:readonly],
|
|
disabled: options[:disabled],
|
|
size: options[:size]
|
|
)
|
|
end
|
|
|
|
# maps each preference to a hash containing the label and field html.
|
|
# E.g. { :label => "<label>...", :field => "<select>..." }
|
|
def preference_fields(object, form)
|
|
return unless object.respond_to?(:preferences)
|
|
|
|
object.preferences.keys.map { |key|
|
|
preference_label = form.label("preferred_#{key}",
|
|
Spree.t(key.to_s.gsub("_from_list", "")) + ": ").html_safe
|
|
preference_field = preference_field_for(
|
|
form,
|
|
"preferred_#{key}",
|
|
{ type: object.preference_type(key) }, object
|
|
).html_safe
|
|
{ label: preference_label, field: preference_field }
|
|
}
|
|
end
|
|
|
|
def link_to_add_fields(name, target, options = {})
|
|
name = '' if options[:no_text]
|
|
css_classes = options[:class] ? options[:class] + " spree_add_fields" : "spree_add_fields"
|
|
link_to_with_icon('icon-plus',
|
|
name,
|
|
'javascript:',
|
|
data: { target: target },
|
|
class: css_classes)
|
|
end
|
|
|
|
# renders hidden field and link to remove record using nested_attributes
|
|
# add support for options[:html], allowing additional HTML attributes
|
|
def link_to_remove_fields(name, form, options = {})
|
|
name = '' if options[:no_text]
|
|
options[:class] = '' unless options[:class]
|
|
options[:class] += 'no-text with-tip' if options[:no_text]
|
|
|
|
html_options = { class: "remove_fields #{options[:class]}",
|
|
data: { action: 'remove' },
|
|
title: t(:remove) }
|
|
html_options.merge!(options[:html]) if options.key? :html
|
|
|
|
link_to_with_icon('icon-trash', name, '#', html_options) + form.hidden_field(:_destroy)
|
|
end
|
|
|
|
def spree_dom_id(record)
|
|
dom_id(record, 'spree')
|
|
end
|
|
|
|
private
|
|
|
|
def attribute_name_for(field_name)
|
|
field_name.tr(' ', '_').downcase
|
|
end
|
|
end
|
|
end
|
|
end
|