rubocop 字符串插值和大小条件
rubocop string interpolation and size condition
在我排除这两种方法之前,我想看看社区中是否有人有更好的想法来构建这些方法并让警察通过。第一个 to_s
似乎也有点疯狂。我正在考虑重构另一种方法,但那将是一两行。
想法?
代码示例一:
def destroy(resource_name, id)
delete "#{resource_name.to_s.pluralize}/#{id}"
end
代码示例二:
def all_products
products_map = fetch(:products).map { |x| [x['id'], x] }.to_h
variants = fetch :variants
variants.group_by { |x| x['product']['resource']['id'] }.to_a.map do |product_id, product_variants|
product.merge 'variants' => product_variants if product == products_map[product_id]
end.compact
end
对于代码示例一,也许可以使用:
delete [resource_name.to_s.pluralize, id].join('/')
对于代码示例二,是的,您肯定需要重构它。
也许您需要创建一个单独的方法来为 variants
部分执行所有分组和合并等操作。
我不确定这是否是一个好的做法,但您可以为其创建一个私有方法。
在我排除这两种方法之前,我想看看社区中是否有人有更好的想法来构建这些方法并让警察通过。第一个 to_s
似乎也有点疯狂。我正在考虑重构另一种方法,但那将是一两行。
想法?
代码示例一:
def destroy(resource_name, id)
delete "#{resource_name.to_s.pluralize}/#{id}"
end
代码示例二:
def all_products
products_map = fetch(:products).map { |x| [x['id'], x] }.to_h
variants = fetch :variants
variants.group_by { |x| x['product']['resource']['id'] }.to_a.map do |product_id, product_variants|
product.merge 'variants' => product_variants if product == products_map[product_id]
end.compact
end
对于代码示例一,也许可以使用:
delete [resource_name.to_s.pluralize, id].join('/')
对于代码示例二,是的,您肯定需要重构它。
也许您需要创建一个单独的方法来为 variants
部分执行所有分组和合并等操作。
我不确定这是否是一个好的做法,但您可以为其创建一个私有方法。