From 711f769bcd84e6946ac36b7ea3d5ad686299e14a Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Fri, 8 Mar 2013 16:57:54 +1100 Subject: [PATCH] Remove QueriesProductDistribution - replaced by Product and Enterprise scopes --- .../queries_product_distribution.rb | 29 ------------------- .../queries_product_distribution_spec.rb | 15 ---------- 2 files changed, 44 deletions(-) delete mode 100644 lib/open_food_web/queries_product_distribution.rb delete mode 100644 spec/lib/open_food_web/queries_product_distribution_spec.rb diff --git a/lib/open_food_web/queries_product_distribution.rb b/lib/open_food_web/queries_product_distribution.rb deleted file mode 100644 index cbf79b1abc..0000000000 --- a/lib/open_food_web/queries_product_distribution.rb +++ /dev/null @@ -1,29 +0,0 @@ -module OpenFoodWeb - class QueriesProductDistribution - def self.active_distributors - (active_distributors_for_product_distributions + active_distributors_for_order_cycles).sort_by { |d| d.name }.uniq - end - - - private - - def self.active_distributors_for_product_distributions - Enterprise.is_distributor.with_distributed_active_products_on_hand.by_name - end - - def self.active_distributors_for_order_cycles - # Can I create this with merge scopes? - # ie. Enterprise.is_distributor.join(:order_cycle_distributor).merge(OrderCycle.active) - - # Try this: - Enterprise.joins('LEFT INNER JOIN exchanges ON (exchanges.receiver_id = enterprises.id)').joins('LEFT INNER JOIN order_cycles ON (order_cycles.id = exchanges.order_cycle.id)'). - merge(OrderCycle.active).select('DISTINCT enterprises.*') - - # Then I can make each of these methods into a scope on Enterprise, and ultimately a single scope - # Then we don't need this class. - - OrderCycle.active.map { |oc| oc.distributors }.flatten.uniq - end - - end -end diff --git a/spec/lib/open_food_web/queries_product_distribution_spec.rb b/spec/lib/open_food_web/queries_product_distribution_spec.rb deleted file mode 100644 index b13de2f2dd..0000000000 --- a/spec/lib/open_food_web/queries_product_distribution_spec.rb +++ /dev/null @@ -1,15 +0,0 @@ -require 'open_food_web/queries_product_distribution' - -module OpenFoodWeb - describe QueriesProductDistribution do - it "fetches active distributors" do - d1 = double(:distributor_a, name: 'a') - d2 = double(:distributor_b, name: 'b') - d3 = double(:distributor_c, name: 'c') - - QueriesProductDistribution.should_receive(:active_distributors_for_product_distributions).and_return([d1, d3]) - QueriesProductDistribution.should_receive(:active_distributors_for_order_cycles).and_return([d1, d2]) - QueriesProductDistribution.active_distributors.should == [d1, d2, d3] - end - end -end