spree_core 3.7.0.rc1 → 3.7.0.rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/finders/spree/orders/find_complete.rb +69 -0
- data/app/models/spree/address.rb +14 -2
- data/app/models/spree/country.rb +4 -0
- data/app/models/spree/credit_card.rb +4 -1
- data/app/models/spree/line_item.rb +3 -3
- data/app/models/spree/shipment.rb +2 -2
- data/app/models/spree/variant.rb +2 -2
- data/app/services/spree/checkout/update.rb +19 -0
- data/app/sorters/spree/orders/sort.rb +42 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/permitted_attributes.rb +1 -1
- data/lib/spree/testing_support/capybara_ext.rb +1 -1
- data/spree_core.gemspec +2 -2
- metadata +8 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b7124c86a59c0fdd43a117c2765d9d7253de04054cef1c787934ce48abf06c9c
         | 
| 4 | 
            +
              data.tar.gz: 3c00c9709cd38461a3aeeff347a2377482766c54501d3a91bf8cc429d043a52c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 33c2354b25887911fef568f618c9d0316cfbda57bb0839ab2b3172e7a8f72ba798b8fce7bc7e2354ca2c913444647b2b44c885cd60a605196279ada234fd3242
         | 
| 7 | 
            +
              data.tar.gz: d62478a37f518d87cf21a7caec39d9a12314c1532bfa7cba161a5c1945077588ddec70ff741ba77445bd9c7290021853809accc423abf0f4c606ce9b1904607c
         | 
| @@ -0,0 +1,69 @@ | |
| 1 | 
            +
            module Spree
         | 
| 2 | 
            +
              module Orders
         | 
| 3 | 
            +
                class FindComplete
         | 
| 4 | 
            +
                  attr_reader :user, :number, :token
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  def initialize(user: nil, number: nil, token: nil)
         | 
| 7 | 
            +
                    @user = user
         | 
| 8 | 
            +
                    @number = number
         | 
| 9 | 
            +
                    @token = token
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  def execute
         | 
| 13 | 
            +
                    orders = by_user(scope)
         | 
| 14 | 
            +
                    orders = by_number(orders)
         | 
| 15 | 
            +
                    orders = by_token(orders)
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                    orders
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  private
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  def scope
         | 
| 23 | 
            +
                    user? ? user.orders.complete.includes(scope_includes) : Spree::Order.complete.includes(scope_includes)
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  def user?
         | 
| 27 | 
            +
                    user.present?
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  def number?
         | 
| 31 | 
            +
                    number.present?
         | 
| 32 | 
            +
                  end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                  def token?
         | 
| 35 | 
            +
                    token.present?
         | 
| 36 | 
            +
                  end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  def by_user(orders)
         | 
| 39 | 
            +
                    return orders unless user?
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                    orders
         | 
| 42 | 
            +
                  end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                  def by_number(orders)
         | 
| 45 | 
            +
                    return orders unless number?
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                    orders.where(number: number)
         | 
| 48 | 
            +
                  end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                  def by_token(orders)
         | 
| 51 | 
            +
                    return orders unless token?
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                    orders.where(token: token)
         | 
| 54 | 
            +
                  end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  def scope_includes
         | 
| 57 | 
            +
                    {
         | 
| 58 | 
            +
                      line_items: [
         | 
| 59 | 
            +
                        variant: [
         | 
| 60 | 
            +
                          :images,
         | 
| 61 | 
            +
                          option_values: :option_type,
         | 
| 62 | 
            +
                          product: :product_properties,
         | 
| 63 | 
            +
                        ]
         | 
| 64 | 
            +
                      ]
         | 
| 65 | 
            +
                    }
         | 
| 66 | 
            +
                  end
         | 
| 67 | 
            +
                end
         | 
| 68 | 
            +
              end
         | 
| 69 | 
            +
            end
         | 
    
        data/app/models/spree/address.rb
    CHANGED
    
    | @@ -29,8 +29,8 @@ module Spree | |
| 29 29 |  | 
| 30 30 | 
             
                validate :state_validate, :postal_code_validate
         | 
| 31 31 |  | 
| 32 | 
            -
                delegate :name, :iso3, to: :country, prefix: true
         | 
| 33 | 
            -
                delegate :abbr, | 
| 32 | 
            +
                delegate :name, :iso3, :iso, :iso_name, to: :country, prefix: true
         | 
| 33 | 
            +
                delegate :abbr, to: :state, prefix: true, allow_nil: true
         | 
| 34 34 |  | 
| 35 35 | 
             
                alias_attribute :first_name, :firstname
         | 
| 36 36 | 
             
                alias_attribute :last_name, :lastname
         | 
| @@ -49,6 +49,14 @@ module Spree | |
| 49 49 | 
             
                  end
         | 
| 50 50 | 
             
                end
         | 
| 51 51 |  | 
| 52 | 
            +
                def iso_name
         | 
| 53 | 
            +
                  ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
         | 
| 54 | 
            +
                Address#iso_name is deprecated and will be removed in Spree 4.0.
         | 
| 55 | 
            +
                Please use Address#country_iso_name instead
         | 
| 56 | 
            +
                  DEPRECATION
         | 
| 57 | 
            +
                  country_iso_name
         | 
| 58 | 
            +
                end
         | 
| 59 | 
            +
             | 
| 52 60 | 
             
                def full_name
         | 
| 53 61 | 
             
                  "#{firstname} #{lastname}".strip
         | 
| 54 62 | 
             
                end
         | 
| @@ -57,6 +65,10 @@ module Spree | |
| 57 65 | 
             
                  state.try(:abbr) || state.try(:name) || state_name
         | 
| 58 66 | 
             
                end
         | 
| 59 67 |  | 
| 68 | 
            +
                def state_name_text
         | 
| 69 | 
            +
                  state_name.present? ? state_name : state&.name
         | 
| 70 | 
            +
                end
         | 
| 71 | 
            +
             | 
| 60 72 | 
             
                def same_as?(other)
         | 
| 61 73 | 
             
                  ActiveSupport::Deprecation.warn(<<-EOS, caller)
         | 
| 62 74 | 
             
                    Address#same_as? is deprecated and will be removed in Spree 4.0. Please use Address#== instead"
         | 
    
        data/app/models/spree/country.rb
    CHANGED
    
    | @@ -22,6 +22,10 @@ module Spree | |
| 22 22 | 
             
                  default || find_by(iso: 'US') || first
         | 
| 23 23 | 
             
                end
         | 
| 24 24 |  | 
| 25 | 
            +
                def self.by_iso(iso)
         | 
| 26 | 
            +
                  where(['LOWER(iso) = ?', iso.downcase]).or(where(['LOWER(iso3) = ?', iso.downcase])).take
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
             | 
| 25 29 | 
             
                def default?
         | 
| 26 30 | 
             
                  id == Spree::Config[:default_country_id]
         | 
| 27 31 | 
             
                end
         | 
| @@ -2,8 +2,11 @@ module Spree | |
| 2 2 | 
             
              class CreditCard < Spree::Base
         | 
| 3 3 | 
             
                include ActiveMerchant::Billing::CreditCardMethods
         | 
| 4 4 |  | 
| 5 | 
            +
                # to migrate safely from older Spree versions that din't provide safe deletion for CCs
         | 
| 6 | 
            +
                # we need to ensure that we have a connection to the DB and that the `deleted_at` column exists
         | 
| 5 7 | 
             
                if !ENV['SPREE_DISABLE_DB_CONNECTION'] &&
         | 
| 6 | 
            -
                     | 
| 8 | 
            +
                    connected? &&
         | 
| 9 | 
            +
                    table_exists? &&
         | 
| 7 10 | 
             
                    connection.column_exists?(:spree_credit_cards, :deleted_at)
         | 
| 8 11 | 
             
                  acts_as_paranoid
         | 
| 9 12 | 
             
                end
         | 
| @@ -20,7 +20,7 @@ module Spree | |
| 20 20 | 
             
                validates :quantity, numericality: { only_integer: true, message: Spree.t('validation.must_be_int') }
         | 
| 21 21 | 
             
                validates :price, numericality: true
         | 
| 22 22 |  | 
| 23 | 
            -
                validates_with Stock::AvailabilityValidator
         | 
| 23 | 
            +
                validates_with Spree::Stock::AvailabilityValidator
         | 
| 24 24 | 
             
                validate :ensure_proper_currency, if: -> { order.present? }
         | 
| 25 25 |  | 
| 26 26 | 
             
                before_destroy :verify_order_inventory_before_destroy, if: -> { order.has_checkout_step?('delivery') }
         | 
| @@ -85,7 +85,7 @@ module Spree | |
| 85 85 | 
             
                alias money display_total
         | 
| 86 86 |  | 
| 87 87 | 
             
                def sufficient_stock?
         | 
| 88 | 
            -
                  Stock::Quantifier.new(variant).can_supply? quantity
         | 
| 88 | 
            +
                  Spree::Stock::Quantifier.new(variant).can_supply? quantity
         | 
| 89 89 | 
             
                end
         | 
| 90 90 |  | 
| 91 91 | 
             
                def insufficient_stock?
         | 
| @@ -153,7 +153,7 @@ module Spree | |
| 153 153 | 
             
                end
         | 
| 154 154 |  | 
| 155 155 | 
             
                def recalculate_adjustments
         | 
| 156 | 
            -
                  Adjustable::AdjustmentsUpdater.update(self)
         | 
| 156 | 
            +
                  Spree::Adjustable::AdjustmentsUpdater.update(self)
         | 
| 157 157 | 
             
                end
         | 
| 158 158 |  | 
| 159 159 | 
             
                def update_tax_charge
         | 
| @@ -269,7 +269,7 @@ module Spree | |
| 269 269 | 
             
                end
         | 
| 270 270 |  | 
| 271 271 | 
             
                def shipping_method
         | 
| 272 | 
            -
                  selected_shipping_rate | 
| 272 | 
            +
                  selected_shipping_rate&.shipping_method || shipping_rates.first&.shipping_method
         | 
| 273 273 | 
             
                end
         | 
| 274 274 |  | 
| 275 275 | 
             
                def tax_category
         | 
| @@ -292,7 +292,7 @@ module Spree | |
| 292 292 | 
             
                end
         | 
| 293 293 |  | 
| 294 294 | 
             
                def tracking_url
         | 
| 295 | 
            -
                  @tracking_url ||= shipping_method | 
| 295 | 
            +
                  @tracking_url ||= shipping_method&.build_tracking_url(tracking)
         | 
| 296 296 | 
             
                end
         | 
| 297 297 |  | 
| 298 298 | 
             
                def update_amounts
         | 
    
        data/app/models/spree/variant.rb
    CHANGED
    
    | @@ -81,7 +81,7 @@ module Spree | |
| 81 81 | 
             
                  )
         | 
| 82 82 | 
             
                end
         | 
| 83 83 |  | 
| 84 | 
            -
                scope :not_deleted, -> { where("#{Variant.quoted_table_name}.deleted_at IS NULL") }
         | 
| 84 | 
            +
                scope :not_deleted, -> { where("#{Spree::Variant.quoted_table_name}.deleted_at IS NULL") }
         | 
| 85 85 |  | 
| 86 86 | 
             
                scope :for_currency_and_available_price_amount, ->(currency = nil) do
         | 
| 87 87 | 
             
                  currency ||= Spree::Config[:currency]
         | 
| @@ -112,7 +112,7 @@ module Spree | |
| 112 112 | 
             
                  if self[:tax_category_id].nil?
         | 
| 113 113 | 
             
                    product.tax_category
         | 
| 114 114 | 
             
                  else
         | 
| 115 | 
            -
                    TaxCategory.find(self[:tax_category_id])
         | 
| 115 | 
            +
                    Spree::TaxCategory.find(self[:tax_category_id])
         | 
| 116 116 | 
             
                  end
         | 
| 117 117 | 
             
                end
         | 
| 118 118 |  | 
| @@ -4,10 +4,29 @@ module Spree | |
| 4 4 | 
             
                  prepend Spree::ServiceModule::Base
         | 
| 5 5 |  | 
| 6 6 | 
             
                  def call(order:, params:, permitted_attributes:, request_env:)
         | 
| 7 | 
            +
                    params = replace_country_iso_with_id(params, 'ship') if address_with_country_iso_present?(params, 'ship')
         | 
| 8 | 
            +
                    params = replace_country_iso_with_id(params, 'bill') if address_with_country_iso_present?(params, 'bill')
         | 
| 7 9 | 
             
                    return success(order) if order.update_from_params(params, permitted_attributes, request_env)
         | 
| 8 10 |  | 
| 9 11 | 
             
                    failure(order)
         | 
| 10 12 | 
             
                  end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  private
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  def address_with_country_iso_present?(params, address_kind = 'ship')
         | 
| 17 | 
            +
                    return false unless params.dig(:order, "#{address_kind}_address_attributes".to_sym, :country_iso)
         | 
| 18 | 
            +
                    return false if params.dig(:order, "#{address_kind}_address_attributes".to_sym, :country_id)
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                    true
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  def replace_country_iso_with_id(params, address_kind = 'ship')
         | 
| 24 | 
            +
                    country_id = Spree::Country.by_iso(params[:order]["#{address_kind}_address_attributes"].fetch(:country_iso))&.id
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                    params[:order]["#{address_kind}_address_attributes"]['country_id'] = country_id
         | 
| 27 | 
            +
                    params[:order]["#{address_kind}_address_attributes"].delete(:country_iso)
         | 
| 28 | 
            +
                    params
         | 
| 29 | 
            +
                  end
         | 
| 11 30 | 
             
                end
         | 
| 12 31 | 
             
              end
         | 
| 13 32 | 
             
            end
         | 
| @@ -0,0 +1,42 @@ | |
| 1 | 
            +
            module Spree
         | 
| 2 | 
            +
              module Orders
         | 
| 3 | 
            +
                class Sort
         | 
| 4 | 
            +
                  attr_reader :scope, :sort
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  def initialize(scope, params)
         | 
| 7 | 
            +
                    @scope = scope
         | 
| 8 | 
            +
                    @sort = params[:sort]
         | 
| 9 | 
            +
                  end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  def call
         | 
| 12 | 
            +
                    orders = completed_at(scope)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    orders
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                  private
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  def desc_order
         | 
| 20 | 
            +
                    @desc_order ||= String(sort)[0] == '-'
         | 
| 21 | 
            +
                  end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  def sort_field
         | 
| 24 | 
            +
                    @sort_field ||= desc_order ? sort[1..-1] : sort
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                  def order_direction
         | 
| 28 | 
            +
                    desc_order ? :asc : :desc
         | 
| 29 | 
            +
                  end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                  def completed_at?
         | 
| 32 | 
            +
                    sort_field.eql?('completed_at')
         | 
| 33 | 
            +
                  end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                  def completed_at(orders)
         | 
| 36 | 
            +
                    return orders unless completed_at?
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                    orders.order(completed_at: order_direction)
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
            end
         | 
    
        data/lib/spree/core/version.rb
    CHANGED
    
    
| @@ -31,7 +31,7 @@ module Spree | |
| 31 31 |  | 
| 32 32 | 
             
                @@address_attributes = [
         | 
| 33 33 | 
             
                  :id, :firstname, :lastname, :first_name, :last_name,
         | 
| 34 | 
            -
                  :address1, :address2, :city, :country_id, :state_id,
         | 
| 34 | 
            +
                  :address1, :address2, :city, :country_iso, :country_id, :state_id,
         | 
| 35 35 | 
             
                  :zipcode, :phone, :state_name, :alternative_phone, :company,
         | 
| 36 36 | 
             
                  country: [:iso, :name, :iso3, :iso_name],
         | 
| 37 37 | 
             
                  state: [:name, :abbr]
         | 
| @@ -106,7 +106,7 @@ module CapybaraExt | |
| 106 106 | 
             
              def wait_for_ajax(delay = Capybara.default_max_wait_time)
         | 
| 107 107 | 
             
                Timeout.timeout(delay) do
         | 
| 108 108 | 
             
                  active = page.evaluate_script('typeof jQuery !== "undefined" && jQuery.active')
         | 
| 109 | 
            -
                  active = page.evaluate_script('typeof jQuery !== "undefined" && jQuery.active') until active.zero?
         | 
| 109 | 
            +
                  active = page.evaluate_script('typeof jQuery !== "undefined" && jQuery.active') until active.nil? || active.zero?
         | 
| 110 110 | 
             
                end
         | 
| 111 111 | 
             
              end
         | 
| 112 112 |  | 
    
        data/spree_core.gemspec
    CHANGED
    
    | @@ -9,7 +9,7 @@ Gem::Specification.new do |s| | |
| 9 9 | 
             
              s.summary     = 'The bare bones necessary for Spree.'
         | 
| 10 10 | 
             
              s.description = 'The bare bones necessary for Spree.'
         | 
| 11 11 |  | 
| 12 | 
            -
              s.required_ruby_version     = '>= 2.3. | 
| 12 | 
            +
              s.required_ruby_version     = '>= 2.3.3'
         | 
| 13 13 | 
             
              s.required_rubygems_version = '>= 1.8.23'
         | 
| 14 14 |  | 
| 15 15 | 
             
              s.author      = 'Sean Schofield'
         | 
| @@ -22,7 +22,7 @@ Gem::Specification.new do |s| | |
| 22 22 |  | 
| 23 23 | 
             
              s.add_dependency 'activemerchant', '~> 1.67'
         | 
| 24 24 | 
             
              s.add_dependency 'acts_as_list', '~> 0.8'
         | 
| 25 | 
            -
              s.add_dependency 'awesome_nested_set', '~> 3.1. | 
| 25 | 
            +
              s.add_dependency 'awesome_nested_set', '~> 3.1.4'
         | 
| 26 26 | 
             
              s.add_dependency 'carmen', '~> 1.0.0'
         | 
| 27 27 | 
             
              s.add_dependency 'cancancan', '~> 2.0'
         | 
| 28 28 | 
             
              s.add_dependency 'deface', '~> 1.0'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: spree_core
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 3.7.0. | 
| 4 | 
            +
              version: 3.7.0.rc2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Sean Schofield
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2019-01- | 
| 11 | 
            +
            date: 2019-01-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activemerchant
         | 
| @@ -44,14 +44,14 @@ dependencies: | |
| 44 44 | 
             
                requirements:
         | 
| 45 45 | 
             
                - - "~>"
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: 3.1. | 
| 47 | 
            +
                    version: 3.1.4
         | 
| 48 48 | 
             
              type: :runtime
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: 3.1. | 
| 54 | 
            +
                    version: 3.1.4
         | 
| 55 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 56 | 
             
              name: carmen
         | 
| 57 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -385,6 +385,7 @@ files: | |
| 385 385 | 
             
            - app/finders/spree/countries/find.rb
         | 
| 386 386 | 
             
            - app/finders/spree/credit_cards/find.rb
         | 
| 387 387 | 
             
            - app/finders/spree/line_items/find_by_variant.rb
         | 
| 388 | 
            +
            - app/finders/spree/orders/find_complete.rb
         | 
| 388 389 | 
             
            - app/finders/spree/orders/find_current.rb
         | 
| 389 390 | 
             
            - app/finders/spree/products/find.rb
         | 
| 390 391 | 
             
            - app/finders/spree/taxons/find.rb
         | 
| @@ -606,6 +607,7 @@ files: | |
| 606 607 | 
             
            - app/services/spree/checkout/update.rb
         | 
| 607 608 | 
             
            - app/services/spree/compare_line_items.rb
         | 
| 608 609 | 
             
            - app/services/spree/generate_token.rb
         | 
| 610 | 
            +
            - app/sorters/spree/orders/sort.rb
         | 
| 609 611 | 
             
            - app/sorters/spree/products/sort.rb
         | 
| 610 612 | 
             
            - app/validators/db_maximum_length_validator.rb
         | 
| 611 613 | 
             
            - app/validators/email_validator.rb
         | 
| @@ -1057,7 +1059,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 1057 1059 | 
             
              requirements:
         | 
| 1058 1060 | 
             
              - - ">="
         | 
| 1059 1061 | 
             
                - !ruby/object:Gem::Version
         | 
| 1060 | 
            -
                  version: 2.3. | 
| 1062 | 
            +
                  version: 2.3.3
         | 
| 1061 1063 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 1062 1064 | 
             
              requirements:
         | 
| 1063 1065 | 
             
              - - ">="
         | 
| @@ -1065,7 +1067,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 1065 1067 | 
             
                  version: 1.8.23
         | 
| 1066 1068 | 
             
            requirements: []
         | 
| 1067 1069 | 
             
            rubyforge_project: 
         | 
| 1068 | 
            -
            rubygems_version: 2.7. | 
| 1070 | 
            +
            rubygems_version: 2.7.8
         | 
| 1069 1071 | 
             
            signing_key: 
         | 
| 1070 1072 | 
             
            specification_version: 4
         | 
| 1071 1073 | 
             
            summary: The bare bones necessary for Spree.
         |