Sha256: d1f3e67fc0465b4e4af862901ae9ee3a46cabe084ec7ff43e76aa9616426e08a

Contents?: true

Size: 571 Bytes

Versions: 57

Compression:

Stored size: 571 Bytes

Contents

module Spree
  module Countries
    class Find
      def initialize(scope, params)
        @scope = scope

        @shippable = String(params[:filter][:shippable]) unless params[:filter].nil?
      end

      def call
        countries = by_shippability(scope)

        countries
      end

      private

      attr_reader :shippable, :scope

      def shippable?
        shippable.present?
      end

      def by_shippability(countries)
        return countries unless shippable?

        countries.joins(zones: :shipping_methods).distinct
      end
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
spree_core-4.0.9 app/finders/spree/countries/find.rb
spree_core-4.1.15 app/finders/spree/countries/find.rb
spree_core-4.1.14 app/finders/spree/countries/find.rb
spree_core-4.0.8 app/finders/spree/countries/find.rb
spree_core-3.7.14.1 app/finders/spree/countries/find.rb
spree_core-4.1.13.1 app/finders/spree/countries/find.rb
spree_core-4.0.7.1 app/finders/spree/countries/find.rb
spree_core-4.0.7 app/finders/spree/countries/find.rb
spree_core-3.7.14 app/finders/spree/countries/find.rb
spree_core-4.1.13 app/finders/spree/countries/find.rb
spree_core-4.0.6 app/finders/spree/countries/find.rb
spree_core-4.2.0.rc2 app/finders/spree/countries/find.rb
spree_core-3.7.13 app/finders/spree/countries/find.rb
spree_core-4.0.5 app/finders/spree/countries/find.rb
spree_core-4.1.12 app/finders/spree/countries/find.rb
spree_core-3.7.12 app/finders/spree/countries/find.rb
spree_core-4.2.0.rc1 app/finders/spree/countries/find.rb
spree_core-4.0.4 app/finders/spree/countries/find.rb
spree_core-3.7.11 app/finders/spree/countries/find.rb
spree_core-4.1.11 app/finders/spree/countries/find.rb