diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml index b4e2a29017..7615a965f0 100644 --- a/.rubocop_manual_todo.yml +++ b/.rubocop_manual_todo.yml @@ -127,10 +127,8 @@ Metrics/LineLength: - app/services/cart_service.rb - app/services/default_stock_location.rb - app/services/embedded_page_service.rb - - app/services/line_item_syncer.rb - app/services/order_cycle_form.rb - app/services/order_factory.rb - - app/services/order_syncer.rb - app/services/subscriptions_count.rb - app/services/variants_stock_levels.rb - app/views/json/_groups.rabl @@ -159,7 +157,6 @@ Metrics/LineLength: - lib/open_food_network/permissions.rb - lib/open_food_network/products_cache.rb - lib/open_food_network/products_renderer.rb - - lib/open_food_network/proxy_order_syncer.rb - lib/open_food_network/reports/bulk_coop_allocation_report.rb - lib/open_food_network/reports/line_items.rb - lib/open_food_network/sales_tax_report.rb @@ -346,7 +343,6 @@ Metrics/LineLength: - spec/models/tag_rule/filter_shipping_methods_spec.rb - spec/models/variant_override_spec.rb - spec/performance/orders_controller_spec.rb - - spec/performance/proxy_order_syncer_spec.rb - spec/performance/shop_controller_spec.rb - spec/requests/checkout/failed_checkout_spec.rb - spec/requests/checkout/paypal_spec.rb diff --git a/app/services/line_item_syncer.rb b/app/services/line_item_syncer.rb index 0db9743edf..842b18aae8 100644 --- a/app/services/line_item_syncer.rb +++ b/app/services/line_item_syncer.rb @@ -30,13 +30,19 @@ class LineItemSyncer def create_new_items(order) new_subscription_line_items.each do |sli| - new_line_item = order.line_items.create(variant_id: sli.variant_id, quantity: sli.quantity, skip_stock_check: skip_stock_check?(order)) + new_line_item = order.line_items.create(variant_id: sli.variant_id, + quantity: sli.quantity, + skip_stock_check: skip_stock_check?(order)) new_line_item.destroy if !skip_stock_check?(order) && new_line_item.insufficient_stock? end end def destroy_obsolete_items(order) - order.line_items.where(variant_id: subscription_line_items.select(&:marked_for_destruction?).map(&:variant_id)).destroy_all + order.line_items. + where(variant_id: subscription_line_items. + select(&:marked_for_destruction?). + map(&:variant_id)). + destroy_all end def changed_subscription_line_items @@ -49,7 +55,8 @@ class LineItemSyncer def update_quantity(line_item, sli) if line_item.quantity == sli.quantity_was - return line_item.update_attributes(quantity: sli.quantity, skip_stock_check: skip_stock_check?(line_item.order)) + return line_item.update_attributes(quantity: sli.quantity, + skip_stock_check: skip_stock_check?(line_item.order)) end line_item.quantity == sli.quantity end diff --git a/app/services/order_syncer.rb b/app/services/order_syncer.rb index 4bd5a844ca..1f3608bd22 100644 --- a/app/services/order_syncer.rb +++ b/app/services/order_syncer.rb @@ -1,6 +1,5 @@ # Responsible for ensuring that any updates to a Subscription are propagated to any # orders belonging to that Subscription which have been instantiated - class OrderSyncer attr_reader :order_update_issues @@ -12,7 +11,8 @@ class OrderSyncer def sync! orders_in_order_cycles_not_closed.all? do |order| - order.assign_attributes(customer_id: customer_id, email: customer.andand.email, distributor_id: shop_id) + order.assign_attributes(customer_id: customer_id, email: customer.andand.email, + distributor_id: shop_id) update_associations_for(order) line_item_syncer.sync!(order) order.save @@ -25,7 +25,8 @@ class OrderSyncer delegate :orders, :bill_address, :ship_address, :subscription_line_items, to: :subscription delegate :shop_id, :customer, :customer_id, to: :subscription - delegate :shipping_method, :shipping_method_id, :payment_method, :payment_method_id, to: :subscription + delegate :shipping_method, :shipping_method_id, + :payment_method, :payment_method_id, to: :subscription delegate :shipping_method_id_changed?, :shipping_method_id_was, to: :subscription delegate :payment_method_id_changed?, :payment_method_id_was, to: :subscription @@ -38,7 +39,8 @@ class OrderSyncer def orders_in_order_cycles_not_closed return @orders_in_order_cycles_not_closed unless @orders_in_order_cycles_not_closed.nil? - @orders_in_order_cycles_not_closed = orders.joins(:order_cycle).merge(OrderCycle.not_closed).readonly(false) + @orders_in_order_cycles_not_closed = orders.joins(:order_cycle). + merge(OrderCycle.not_closed).readonly(false) end def update_bill_address_for(order) @@ -49,7 +51,8 @@ class OrderSyncer end def update_payment_for(order) - payment = order.payments.with_state('checkout').where(payment_method_id: payment_method_id_was).last + payment = order.payments. + with_state('checkout').where(payment_method_id: payment_method_id_was).last if payment payment.andand.void_transaction! order.payments.create(payment_method_id: payment_method_id, amount: order.reload.total) diff --git a/lib/open_food_network/proxy_order_syncer.rb b/lib/open_food_network/proxy_order_syncer.rb index 10cbaa12b0..c187fde2a4 100644 --- a/lib/open_food_network/proxy_order_syncer.rb +++ b/lib/open_food_network/proxy_order_syncer.rb @@ -11,7 +11,8 @@ module OpenFoodNetwork when ActiveRecord::Relation @subscriptions = subscriptions.not_ended.not_canceled else - raise "ProxyOrderSyncer must be initialized with an instance of Subscription or ActiveRecord::Relation" + raise "ProxyOrderSyncer must be initialized with " \ + "an instance of Subscription or ActiveRecord::Relation" end end @@ -74,7 +75,9 @@ module OpenFoodNetwork end def in_range_order_cycles - order_cycles.where('orders_close_at >= ? AND orders_close_at <= ?', begins_at, ends_at || 100.years.from_now) + order_cycles.where("orders_close_at >= ? AND orders_close_at <= ?", + begins_at, + ends_at || 100.years.from_now) end end end diff --git a/spec/performance/proxy_order_syncer_spec.rb b/spec/performance/proxy_order_syncer_spec.rb index a466ca6c56..95678c68a2 100644 --- a/spec/performance/proxy_order_syncer_spec.rb +++ b/spec/performance/proxy_order_syncer_spec.rb @@ -7,7 +7,8 @@ module OpenFoodNetwork let!(:order_cycles) do Array.new(10) do |i| - create(:simple_order_cycle, orders_open_at: start + i.days, orders_close_at: start + (i + 1).days ) + create(:simple_order_cycle, orders_open_at: start + i.days, + orders_close_at: start + (i + 1).days ) end end