Sha256: 9ccd530f264c94b9086938c3e6cde014d862f73db1b3f46cae017540eaf716d6

Contents?: true

Size: 739 Bytes

Versions: 13

Compression:

Stored size: 739 Bytes

Contents

# Used by Prioritizer to adjust item quantities
# see prioritizer_spec for use cases
module Spree
  module Stock
    class Adjuster
      attr_accessor :inventory_unit, :status, :fulfilled, :package

      def initialize(inventory_unit, status, package=nil)
        @inventory_unit = inventory_unit
        @status = status
        @package = package
        @fulfilled = false
      end

      def adjust(package)
        if fulfilled?
          package.remove(inventory_unit)
        else
          self.fulfilled = true
        end
      end

      def reassign(status, package)
        @fulfilled = false
        @status = status
        @package = package
      end

      def fulfilled?
        fulfilled
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
spree_core-3.2.9 app/models/spree/stock/adjuster.rb
spree_core-3.2.8 app/models/spree/stock/adjuster.rb
spree_core-3.2.7 app/models/spree/stock/adjuster.rb
spree_core-3.2.6 app/models/spree/stock/adjuster.rb
spree_core-3.2.5 app/models/spree/stock/adjuster.rb
spree_core-3.2.4 app/models/spree/stock/adjuster.rb
spree_core-3.2.3 app/models/spree/stock/adjuster.rb
spree_core-3.2.2 app/models/spree/stock/adjuster.rb
spree_core-3.2.1 app/models/spree/stock/adjuster.rb
spree_core-3.2.0 app/models/spree/stock/adjuster.rb
spree_core-3.2.0.rc3 app/models/spree/stock/adjuster.rb
spree_core-3.2.0.rc2 app/models/spree/stock/adjuster.rb
spree_core-3.2.0.rc1 app/models/spree/stock/adjuster.rb