Sha256: dcb8107988b3ca5e11502ac25a4a80ee8ece8a7f8d62b2ab43746f99df4a0aaf

Contents?: true

Size: 547 Bytes

Versions: 68

Compression:

Stored size: 547 Bytes

Contents

module Spree
  module Variants
    class OptionTypesFinder
      COLOR_TYPE = 'color'.freeze

      def initialize(variant_ids:)
        @variant_ids = variant_ids
      end

      def execute
        Spree::OptionType.includes(option_values: :variants).where(spree_variants: { id: variant_ids }).
          reorder('spree_option_types.position ASC, spree_option_values.position ASC').
          partition { |option_type| option_type.name.downcase == COLOR_TYPE }.flatten
      end

      private

      attr_reader :variant_ids
    end
  end
end

Version data entries

68 entries across 68 versions & 1 rubygems

Version Path
spree_core-4.10.1 app/finders/spree/variants/option_types_finder.rb
spree_core-4.10.0 app/finders/spree/variants/option_types_finder.rb
spree_core-4.9.0 app/finders/spree/variants/option_types_finder.rb
spree_core-4.8.3 app/finders/spree/variants/option_types_finder.rb
spree_core-4.8.2 app/finders/spree/variants/option_types_finder.rb
spree_core-4.7.3 app/finders/spree/variants/option_types_finder.rb
spree_core-4.6.6 app/finders/spree/variants/option_types_finder.rb
spree_core-4.5.5 app/finders/spree/variants/option_types_finder.rb
spree_core-4.1.15 app/finders/spree/variants/option_types_finder.rb
spree_core-4.2.7 app/finders/spree/variants/option_types_finder.rb
spree_core-4.3.3 app/finders/spree/variants/option_types_finder.rb
spree_core-4.4.1 app/finders/spree/variants/option_types_finder.rb
spree_core-4.5.4 app/finders/spree/variants/option_types_finder.rb
spree_core-4.6.5 app/finders/spree/variants/option_types_finder.rb
spree_core-4.7.2 app/finders/spree/variants/option_types_finder.rb
spree_core-4.7.1 app/finders/spree/variants/option_types_finder.rb
spree_core-4.6.4 app/finders/spree/variants/option_types_finder.rb
spree_core-4.7.0 app/finders/spree/variants/option_types_finder.rb
spree_core-4.6.3 app/finders/spree/variants/option_types_finder.rb
spree_core-4.6.2 app/finders/spree/variants/option_types_finder.rb