spree_core 2.0.6 → 2.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/spree/base_helper.rb +1 -1
- data/app/models/spree/adjustment.rb +6 -12
- data/app/models/spree/app_configuration.rb +1 -0
- data/app/models/spree/credit_card.rb +2 -2
- data/app/models/spree/gateway/bogus_simple.rb +8 -0
- data/app/models/spree/option_type.rb +1 -0
- data/app/models/spree/order_inventory.rb +7 -3
- data/app/models/spree/order_updater.rb +3 -10
- data/app/models/spree/payment/processing.rb +5 -4
- data/app/models/spree/product.rb +7 -2
- data/app/models/spree/promotion/rules/user.rb +1 -1
- data/app/models/spree/shipment.rb +6 -3
- data/app/models/spree/taxon.rb +11 -2
- data/app/views/spree/payments/_payment.html.erb +3 -1
- data/config/locales/en.yml +1 -0
- data/db/migrate/20131113035136_add_channel_to_spree_orders.rb +5 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +30 -3
- data/lib/spree/money.rb +1 -0
- data/lib/spree/testing_support/capybara_ext.rb +11 -3
- data/lib/spree/testing_support/controller_requests.rb +2 -2
- metadata +25 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c0e00c7f8d48f1f8f6a553128e0f324baf1b80b
|
4
|
+
data.tar.gz: 13ad6252099846dd0af9cb82e417d804199ecfa5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c87d7b7176aa8f6447eba1897834beb1889741ab3b2a8fe6d0090d25559a96d2f104447a89ced51264099b4ed43e8cc8a9504e8c986bcb868bec309a73d5c71b
|
7
|
+
data.tar.gz: 884eef22bc8e8e9b6caf813c24b453582089d2966aab9cc924c62fcda7c8fefe0608513b464ed761c157f46047ec3b208b44c1d6e4fa3570e2ffdccdfe204ac9
|
@@ -117,7 +117,7 @@ module Spree
|
|
117
117
|
countries.collect do |country|
|
118
118
|
country.name = Spree.t(country.iso, scope: 'country_names', default: country.name)
|
119
119
|
country
|
120
|
-
end.sort { |a, b| a.name <=> b.name }
|
120
|
+
end.sort { |a, b| a.name.parameterize <=> b.name.parameterize }
|
121
121
|
end
|
122
122
|
|
123
123
|
def seo_url(taxon)
|
@@ -82,23 +82,17 @@ module Spree
|
|
82
82
|
# delegate updating of amount to their Originator when present, but only if
|
83
83
|
# +locked+ is false. Adjustments that are +locked+ will never change their amount.
|
84
84
|
#
|
85
|
-
#
|
86
|
-
#
|
87
|
-
#
|
88
|
-
|
89
|
-
# It receives +calculable+ as the updated source here so calculations can be
|
90
|
-
# performed on the current values of that source. If we used +source+ it
|
91
|
-
# could load the old record from db for the association. e.g. when updating
|
92
|
-
# more than on line items at once via accepted_nested_attributes the order
|
93
|
-
# object on the association would be in a old state and therefore the
|
94
|
-
# adjustment calculations would not performed on proper values
|
95
|
-
def update!(calculable = nil)
|
85
|
+
# order#update_adjustments passes self as the src, this is so calculations can
|
86
|
+
# be performed on the # current values. If we used source it would load the old
|
87
|
+
# record from db for the association
|
88
|
+
def update!(calculable=nil)
|
96
89
|
return if immutable?
|
97
90
|
# Fix for #3381
|
98
91
|
# If we attempt to call 'source' before the reload, then source is currently
|
99
92
|
# the order object. After calling a reload, the source is the Shipment.
|
100
93
|
reload
|
101
|
-
|
94
|
+
calculable = source unless calculable == source
|
95
|
+
originator.update_adjustment(self, calculable) if originator.present?
|
102
96
|
set_eligibility
|
103
97
|
end
|
104
98
|
|
@@ -42,6 +42,7 @@ module Spree
|
|
42
42
|
preference :currency, :string, default: "USD"
|
43
43
|
preference :currency_decimal_mark, :string, default: "."
|
44
44
|
preference :currency_symbol_position, :string, default: "before"
|
45
|
+
preference :currency_sign_before_symbol, :boolean, default: true
|
45
46
|
preference :currency_thousands_separator, :string, default: ","
|
46
47
|
preference :display_currency, :boolean, default: false
|
47
48
|
preference :default_country_id, :integer
|
@@ -7,7 +7,7 @@ module Spree
|
|
7
7
|
|
8
8
|
attr_accessor :number, :verification_value
|
9
9
|
|
10
|
-
validates :month, :year, numericality: { only_integer: true }
|
10
|
+
validates :month, :year, numericality: { only_integer: true }, unless: :has_payment_profile?
|
11
11
|
validates :number, presence: true, unless: :has_payment_profile?, on: :create
|
12
12
|
validates :verification_value, presence: true, unless: :has_payment_profile?, on: :create
|
13
13
|
validate :expiry_not_in_the_past
|
@@ -94,7 +94,7 @@ module Spree
|
|
94
94
|
end
|
95
95
|
|
96
96
|
def has_payment_profile?
|
97
|
-
gateway_customer_profile_id.present?
|
97
|
+
gateway_customer_profile_id.present? || gateway_payment_profile_id.present?
|
98
98
|
end
|
99
99
|
|
100
100
|
def spree_cc_type
|
@@ -6,6 +6,14 @@ module Spree
|
|
6
6
|
false
|
7
7
|
end
|
8
8
|
|
9
|
+
def capture(money, response_code, options = {})
|
10
|
+
if response_code == '12345'
|
11
|
+
ActiveMerchant::Billing::Response.new(true, 'Bogus Gateway: Forced success', {}, :test => true, :authorization => '67890')
|
12
|
+
else
|
13
|
+
ActiveMerchant::Billing::Response.new(false, 'Bogus Gateway: Forced failure', :error => 'Bogus Gateway: Forced failure', :test => true)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
9
17
|
def authorize(money, credit_card, options = {})
|
10
18
|
if VALID_CCS.include? credit_card.number
|
11
19
|
ActiveMerchant::Billing::Response.new(true, 'Bogus Gateway: Forced success', {}, :test => true, :authorization => '12345', :avs_result => { :code => 'A' })
|
@@ -2,6 +2,7 @@ module Spree
|
|
2
2
|
class OptionType < ActiveRecord::Base
|
3
3
|
has_many :option_values, order: :position, dependent: :destroy
|
4
4
|
has_many :product_option_types, dependent: :destroy
|
5
|
+
has_many :products, through: :product_option_types
|
5
6
|
has_and_belongs_to_many :prototypes, join_table: 'spree_option_types_prototypes'
|
6
7
|
|
7
8
|
attr_accessible :name, :presentation, :option_values_attributes
|
@@ -65,10 +65,14 @@ module Spree
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def add_to_shipment(shipment, variant, quantity)
|
68
|
-
|
68
|
+
if Config.track_inventory_levels
|
69
|
+
on_hand, back_order = shipment.stock_location.fill_status(variant, quantity)
|
69
70
|
|
70
|
-
|
71
|
-
|
71
|
+
on_hand.times { shipment.set_up_inventory('on_hand', variant, order) }
|
72
|
+
back_order.times { shipment.set_up_inventory('backordered', variant, order) }
|
73
|
+
else
|
74
|
+
quantity.times { shipment.set_up_inventory('on_hand', variant, order) }
|
75
|
+
end
|
72
76
|
|
73
77
|
# adding to this shipment, and removing from stock_location
|
74
78
|
if order.completed?
|
@@ -25,8 +25,7 @@ module Spree
|
|
25
25
|
update_shipment_state
|
26
26
|
end
|
27
27
|
|
28
|
-
|
29
|
-
update_shipping_adjustments
|
28
|
+
update_adjustments
|
30
29
|
# update totals a second time in case updated adjustments have an effect on the total
|
31
30
|
update_totals
|
32
31
|
|
@@ -125,17 +124,11 @@ module Spree
|
|
125
124
|
#
|
126
125
|
# Adjustments will check if they are still eligible. Ineligible adjustments
|
127
126
|
# are preserved but not counted towards adjustment_total.
|
128
|
-
def
|
129
|
-
order.adjustments.reload.
|
127
|
+
def update_adjustments
|
128
|
+
order.adjustments.reload.each { |adjustment| adjustment.update!(order) }
|
130
129
|
choose_best_promotion_adjustment
|
131
130
|
end
|
132
131
|
|
133
|
-
# Shipping adjustments don't receive order on update! because they calculated
|
134
|
-
# over a shipping / package object rather than an order object
|
135
|
-
def update_shipping_adjustments
|
136
|
-
order.adjustments.reload.shipping.each { |adjustment| adjustment.update! }
|
137
|
-
end
|
138
|
-
|
139
132
|
private
|
140
133
|
|
141
134
|
# Picks one (and only one) promotion to be eligible for this order
|
@@ -13,7 +13,7 @@ module Spree
|
|
13
13
|
end
|
14
14
|
else
|
15
15
|
invalidate!
|
16
|
-
raise Core::GatewayError.new(
|
16
|
+
raise Core::GatewayError.new(Spree.t(:payment_method_not_supported))
|
17
17
|
end
|
18
18
|
end
|
19
19
|
else
|
@@ -83,11 +83,12 @@ module Spree
|
|
83
83
|
|
84
84
|
credit_amount ||= credit_allowed >= order.outstanding_balance.abs ? order.outstanding_balance.abs : credit_allowed.abs
|
85
85
|
credit_amount = credit_amount.to_f
|
86
|
+
credit_cents = Spree::Money.new(credit_amount, currency: currency).money.cents
|
86
87
|
|
87
88
|
if payment_method.payment_profiles_supported?
|
88
|
-
response = payment_method.credit(
|
89
|
+
response = payment_method.credit(credit_cents, source, response_code, gateway_options)
|
89
90
|
else
|
90
|
-
response = payment_method.credit(
|
91
|
+
response = payment_method.credit(credit_cents, response_code, gateway_options)
|
91
92
|
end
|
92
93
|
|
93
94
|
record_response(response)
|
@@ -139,7 +140,7 @@ module Spree
|
|
139
140
|
protect_from_connection_error do
|
140
141
|
check_environment
|
141
142
|
|
142
|
-
response = payment_method.send(action,
|
143
|
+
response = payment_method.send(action, money.money.cents,
|
143
144
|
source,
|
144
145
|
gateway_options)
|
145
146
|
handle_response(response, success_state, :failure)
|
data/app/models/spree/product.rb
CHANGED
@@ -202,8 +202,13 @@ module Spree
|
|
202
202
|
|
203
203
|
def set_property(property_name, property_value)
|
204
204
|
ActiveRecord::Base.transaction do
|
205
|
-
|
206
|
-
|
205
|
+
# Works around spree_i18n #301
|
206
|
+
property = if Property.exists?(name: property_name)
|
207
|
+
Property.where(name: property_name).first
|
208
|
+
else
|
209
|
+
Property.create(name: property_name, presentation: property_name)
|
210
|
+
end
|
211
|
+
product_property = ProductProperty.where(product_id: self.id, property_id: property.id).first_or_initialize
|
207
212
|
product_property.value = property_value
|
208
213
|
product_property.save!
|
209
214
|
end
|
@@ -9,7 +9,7 @@ module Spree
|
|
9
9
|
has_and_belongs_to_many :users, class_name: Spree.user_class.to_s, join_table: 'spree_promotion_rules_users', foreign_key: 'promotion_rule_id'
|
10
10
|
else
|
11
11
|
belongs_to :user
|
12
|
-
has_and_belongs_to_many :users, join_table: 'spree_promotion_rules_users', foreign_key: 'promotion_rule_id'
|
12
|
+
has_and_belongs_to_many :users, join_table: 'spree_promotion_rules_users', foreign_key: 'promotion_rule_id', :class_name => Spree.user_class
|
13
13
|
end
|
14
14
|
|
15
15
|
def eligible?(order, options = {})
|
@@ -66,9 +66,7 @@ module Spree
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def to_param
|
69
|
-
number
|
70
|
-
generate_shipment_number unless number
|
71
|
-
number.to_s.to_url.upcase
|
69
|
+
number
|
72
70
|
end
|
73
71
|
|
74
72
|
def backordered?
|
@@ -104,6 +102,7 @@ module Spree
|
|
104
102
|
|
105
103
|
def refresh_rates
|
106
104
|
return shipping_rates if shipped?
|
105
|
+
return [] unless can_get_rates?
|
107
106
|
|
108
107
|
# StockEstimator.new assigment below will replace the current shipping_method
|
109
108
|
original_shipping_method_id = shipping_method.try(:id)
|
@@ -294,5 +293,9 @@ module Spree
|
|
294
293
|
def update_order
|
295
294
|
order.update!
|
296
295
|
end
|
296
|
+
|
297
|
+
def can_get_rates?
|
298
|
+
order.ship_address && order.ship_address.valid?
|
299
|
+
end
|
297
300
|
end
|
298
301
|
end
|
data/app/models/spree/taxon.rb
CHANGED
@@ -8,8 +8,8 @@ module Spree
|
|
8
8
|
|
9
9
|
before_create :set_permalink
|
10
10
|
|
11
|
-
attr_accessible :name, :parent_id, :
|
12
|
-
:meta_description, :meta_keywords, :meta_title
|
11
|
+
attr_accessible :name, :parent_id, :icon, :description, :permalink, :taxonomy_id,
|
12
|
+
:meta_description, :meta_keywords, :meta_title, :child_index
|
13
13
|
|
14
14
|
validates :name, presence: true
|
15
15
|
|
@@ -72,5 +72,14 @@ module Spree
|
|
72
72
|
ancestor_chain + "#{name}"
|
73
73
|
end
|
74
74
|
|
75
|
+
# awesome_nested_set sorts by :lft and :rgt. This call re-inserts the child
|
76
|
+
# node so that its resulting position matches the observable 0-indexed position.
|
77
|
+
# ** Note ** no :position column needed - a_n_s doesn't handle the reordering if
|
78
|
+
# you bring your own :order_column.
|
79
|
+
#
|
80
|
+
# See #3390 for background.
|
81
|
+
def child_index=(idx)
|
82
|
+
move_to_child_with_index(parent, idx.to_i)
|
83
|
+
end
|
75
84
|
end
|
76
85
|
end
|
@@ -4,7 +4,9 @@
|
|
4
4
|
<% unless (cc_type = source.cc_type).blank? %>
|
5
5
|
<%= image_tag "credit_cards/icons/#{cc_type}.png" %>
|
6
6
|
<% end %>
|
7
|
-
|
7
|
+
<% if source.last_digits %>
|
8
|
+
<%= Spree.t(:ending_in) %> <%= source.last_digits %>
|
9
|
+
<% end %>
|
8
10
|
</span>
|
9
11
|
<br />
|
10
12
|
<span class="full-name">
|
data/config/locales/en.yml
CHANGED
@@ -790,6 +790,7 @@ en:
|
|
790
790
|
payment_method: Payment Method
|
791
791
|
payment_methods: Payment Methods
|
792
792
|
payment_processing_failed: Payment could not be processed, please check the details you entered
|
793
|
+
payment_method_not_supported: That payment method is unsupported. Please choose another one.
|
793
794
|
payment_processor_choose_banner_text: If you need help choosing a payment processor, please visit
|
794
795
|
payment_processor_choose_link: our payments page
|
795
796
|
payment_state: Payment State
|
data/lib/spree/core/version.rb
CHANGED
data/lib/spree/core.rb
CHANGED
@@ -16,9 +16,9 @@ module Spree
|
|
16
16
|
|
17
17
|
def self.user_class
|
18
18
|
if @@user_class.is_a?(Class)
|
19
|
-
raise "Spree.user_class MUST be a String object, not a Class object."
|
20
|
-
elsif @@user_class.is_a?(String)
|
21
|
-
@@user_class.constantize
|
19
|
+
raise "Spree.user_class MUST be a String or Symbol object, not a Class object."
|
20
|
+
elsif @@user_class.is_a?(String) || @@user_class.is_a?(Symbol)
|
21
|
+
@@user_class.to_s.constantize
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -54,3 +54,30 @@ require 'spree/core/product_duplicator'
|
|
54
54
|
ActiveRecord::Base.class_eval do
|
55
55
|
include CollectiveIdea::Acts::NestedSet
|
56
56
|
end
|
57
|
+
|
58
|
+
# Monkey patch to give us miliseconds precision in timestamps
|
59
|
+
module ActiveSupport
|
60
|
+
class TimeWithZone
|
61
|
+
# Coerces time to a string for JSON encoding. The default format is ISO 8601. You can get
|
62
|
+
# %Y/%m/%d %H:%M:%S +offset style by setting <tt>ActiveSupport::JSON::Encoding.use_standard_json_time_format</tt>
|
63
|
+
# to false.
|
64
|
+
#
|
65
|
+
# ==== Examples
|
66
|
+
#
|
67
|
+
# # With ActiveSupport::JSON::Encoding.use_standard_json_time_format = true
|
68
|
+
# Time.utc(2005,2,1,15,15,10).in_time_zone.to_json
|
69
|
+
# # => "2005-02-01T15:15:10.001Z"
|
70
|
+
#
|
71
|
+
# # With ActiveSupport::JSON::Encoding.use_standard_json_time_format = false
|
72
|
+
# Time.utc(2005,2,1,15,15,10).in_time_zone.to_json
|
73
|
+
# # => "2005/02/01 15:15:10 +0000"
|
74
|
+
#
|
75
|
+
def as_json(options = nil)
|
76
|
+
if ActiveSupport::JSON::Encoding.use_standard_json_time_format
|
77
|
+
xmlschema(3)
|
78
|
+
else
|
79
|
+
%(#{time.strftime("%Y/%m/%d %H:%M:%S")} #{formatted_offset(false)})
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
data/lib/spree/money.rb
CHANGED
@@ -14,6 +14,7 @@ module Spree
|
|
14
14
|
@options[:no_cents] = Spree::Config[:hide_cents]
|
15
15
|
@options[:decimal_mark] = Spree::Config[:currency_decimal_mark]
|
16
16
|
@options[:thousands_separator] = Spree::Config[:currency_thousands_separator]
|
17
|
+
@options[:sign_before_symbol] = Spree::Config[:currency_sign_before_symbol]
|
17
18
|
@options.merge!(options)
|
18
19
|
# Must be a symbol because the Money gem doesn't do the conversion
|
19
20
|
@options[:symbol_position] = @options[:symbol_position].to_sym
|
@@ -13,11 +13,19 @@ module CapybaraExt
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def within_row(num, &block)
|
16
|
-
|
16
|
+
if example.metadata[:js]
|
17
|
+
within("table.index tbody tr:nth-child(#{num})", &block)
|
18
|
+
else
|
19
|
+
within(:xpath, all("table.index tbody tr")[num-1].path, &block)
|
20
|
+
end
|
17
21
|
end
|
18
22
|
|
19
23
|
def column_text(num)
|
20
|
-
|
24
|
+
if example.metadata[:js]
|
25
|
+
find("td:nth-child(#{num})").text
|
26
|
+
else
|
27
|
+
all("td")[num-1].text
|
28
|
+
end
|
21
29
|
end
|
22
30
|
|
23
31
|
def set_select2_field(field, value)
|
@@ -94,7 +102,7 @@ module CapybaraExt
|
|
94
102
|
|
95
103
|
def wait_for_ajax
|
96
104
|
counter = 0
|
97
|
-
while page.
|
105
|
+
while page.evaluate_script("$.active").to_i > 0
|
98
106
|
counter += 1
|
99
107
|
sleep(0.1)
|
100
108
|
raise "AJAX request took longer than 5 seconds." if counter >= 50
|
@@ -4,9 +4,9 @@
|
|
4
4
|
# Inside your spec_helper.rb, include this module inside the RSpec.configure
|
5
5
|
# block by doing this:
|
6
6
|
#
|
7
|
-
# require 'spree/
|
7
|
+
# require 'spree/testing_support/controller_requests'
|
8
8
|
# RSpec.configure do |c|
|
9
|
-
# c.include Spree::
|
9
|
+
# c.include Spree::TestingSupport::ControllerRequests, :type => :controller
|
10
10
|
# end
|
11
11
|
#
|
12
12
|
# Then, in your controller tests, you can access spree routes like this:
|
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: 2.0.
|
4
|
+
version: 2.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemerchant
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.42.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.42.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: acts_as_list
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,28 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.1.
|
47
|
+
version: 2.1.6
|
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: 2.1.
|
54
|
+
version: 2.1.6
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: aws-sdk
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: 1.27.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: 1.27.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cancan
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: deface
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - '
|
87
|
+
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 1.0.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - '
|
94
|
+
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 1.0.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: ffaker
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,14 +112,14 @@ dependencies:
|
|
112
112
|
name: highline
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: 1.6.18
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ~>
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 1.6.18
|
125
125
|
- !ruby/object:Gem::Dependency
|
@@ -140,16 +140,16 @@ dependencies:
|
|
140
140
|
name: json
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- -
|
143
|
+
- - ~>
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.7
|
145
|
+
version: '1.7'
|
146
146
|
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- -
|
150
|
+
- - ~>
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.7
|
152
|
+
version: '1.7'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: kaminari
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,14 +168,14 @@ dependencies:
|
|
168
168
|
name: money
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- -
|
171
|
+
- - ~>
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: 5.1.1
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- -
|
178
|
+
- - ~>
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 5.1.1
|
181
181
|
- !ruby/object:Gem::Dependency
|
@@ -226,14 +226,14 @@ dependencies:
|
|
226
226
|
requirements:
|
227
227
|
- - ~>
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version: 1.
|
229
|
+
version: 1.1.0
|
230
230
|
type: :runtime
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
233
|
requirements:
|
234
234
|
- - ~>
|
235
235
|
- !ruby/object:Gem::Version
|
236
|
-
version: 1.
|
236
|
+
version: 1.1.0
|
237
237
|
- !ruby/object:Gem::Dependency
|
238
238
|
name: state_machine
|
239
239
|
requirement: !ruby/object:Gem::Requirement
|
@@ -619,6 +619,7 @@ files:
|
|
619
619
|
- db/migrate/20130909115621_change_states_required_for_countries.rb
|
620
620
|
- db/migrate/20130915032339_add_deleted_at_to_spree_stock_items.rb
|
621
621
|
- db/migrate/20131001013410_remove_unused_credit_card_fields.rb
|
622
|
+
- db/migrate/20131113035136_add_channel_to_spree_orders.rb
|
622
623
|
- db/seeds.rb
|
623
624
|
- vendor/assets/javascripts/jquery-migrate-1.0.0.js
|
624
625
|
- vendor/assets/javascripts/jquery.validate/localization/messages_et.js
|