spree_core 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,6 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class UsersController < ResourceController
4
- rescue_from User::DestroyWithOrdersError, :with => :user_destroy_with_orders_error
5
4
 
6
5
  # http://spreecommerce.com/blog/2010/11/02/json-hijacking-vulnerability/
7
6
  before_filter :check_json_authenticity, :only => :index
@@ -57,7 +57,7 @@ module Spree
57
57
  end
58
58
 
59
59
  def link_to_delete(resource, options = {}, html_options={})
60
- options.assert_valid_keys(:url, :caption, :title, :dataType, :success, :name)
60
+ options.assert_valid_keys(:url, :caption, :title, :dataType, :success, :error, :name)
61
61
 
62
62
  options.reverse_merge! :url => object_url(resource) unless options.key? :url
63
63
  options.reverse_merge! :caption => t(:are_you_sure)
@@ -59,7 +59,8 @@ module Spree
59
59
  end
60
60
 
61
61
  def self.default
62
- new :country_id => Spree::Config[:default_country_id]
62
+ country = Spree::Country.find_by_id(Spree::Config[:default_country_id])
63
+ new :country_id => country.try(:id) || Country.first.id
63
64
  end
64
65
 
65
66
  # can modify an address if it's not been used in an order (but checkouts controller has finer control)
@@ -42,7 +42,7 @@ module Spree
42
42
  preference :company, :boolean, :default => false # Request company field for billing and shipping addr
43
43
  preference :create_inventory_units, :boolean, :default => true # should only be false when track_inventory_levels is false, also disables RMA's
44
44
  preference :default_country_id, :integer, :default => 214
45
- preference :default_locale, :string, :default => 'en'
45
+ preference :default_locale, :string, :default => Rails.application.config.i18n.default_locale || :en
46
46
  preference :default_meta_description, :string, :default => 'Spree demo site'
47
47
  preference :default_meta_keywords, :string, :default => 'spree, demo'
48
48
  preference :default_seo_title, :string, :default => ''
@@ -31,7 +31,7 @@ module Spree
31
31
 
32
32
  def compute_line_item(line_item)
33
33
  if line_item.product.tax_category == rate.tax_category
34
- round_to_two_places(line_item.total * rate.amount)
34
+ deduced_total_by_rate(line_item.total, rate)
35
35
  else
36
36
  0
37
37
  end
@@ -40,6 +40,10 @@ module Spree
40
40
  def round_to_two_places(amount)
41
41
  BigDecimal.new(amount.to_s).round(2, BigDecimal::ROUND_HALF_UP)
42
42
  end
43
+
44
+ def deduced_total_by_rate(total, rate)
45
+ round_to_two_places(total - ( total / (1 + rate.amount) ) )
46
+ end
43
47
 
44
48
  end
45
49
  end
@@ -1,7 +1,6 @@
1
1
  class Spree::Preference < ActiveRecord::Base
2
2
 
3
3
  validates :key, :presence => true
4
- validates :value, :presence => true
5
4
  validates :value_type, :presence => true
6
5
 
7
6
  scope :valid, where(Spree::Preference.arel_table[:key].not_eq(nil)).where(Spree::Preference.arel_table[:value_type].not_eq(nil))
@@ -11,7 +10,7 @@ class Spree::Preference < ActiveRecord::Base
11
10
  def value
12
11
  if self[:value_type].present?
13
12
  case self[:value_type].to_sym
14
- when :string
13
+ when :string, :text
15
14
  self[:value].to_s
16
15
  when :password
17
16
  self[:value].to_s
@@ -106,7 +106,7 @@ module Spree::Preferences::Preferable
106
106
 
107
107
  def convert_preference_value(value, type)
108
108
  case type
109
- when :string
109
+ when :string, :text
110
110
  value.to_s
111
111
  when :password
112
112
  value.to_s
@@ -199,7 +199,8 @@ module Spree
199
199
  end
200
200
 
201
201
  def self.on_hand
202
- where("spree_products.id in (select product_id from spree_variants group by product_id having sum(count_on_hand) > 0)")
202
+ variants_table = Variant.table_name
203
+ where("#{table_name}.id in (select product_id from #{variants_table} where product_id = #{table_name}.id group by product_id having sum(count_on_hand) > 0)")
203
204
  end
204
205
 
205
206
  def self.taxons_name_eq(name)
@@ -41,6 +41,7 @@ module Spree
41
41
  def cost
42
42
  adjustment ? adjustment.amount : 0
43
43
  end
44
+ alias_method :amount, :cost
44
45
 
45
46
  # shipment state machine (see http://github.com/pluginaweek/state_machine/tree/master for details)
46
47
  state_machine :initial => 'pending', :use_transactions => false do
@@ -50,6 +50,14 @@ module Spree
50
50
  end
51
51
  end
52
52
 
53
+ # strips all non-price-like characters from the price.
54
+ def price=(price)
55
+ if price.present?
56
+ self[:price] = price.to_s.gsub(/[^0-9\.-]/,'').to_f
57
+ end
58
+ end
59
+
60
+
53
61
  # returns number of units currently on backorder for this variant.
54
62
  def on_backorder
55
63
  inventory_units.with_state('backordered').size
@@ -4,7 +4,7 @@
4
4
  <div class="banner payment_banner">
5
5
  <p class="message">
6
6
  <%= t(:payment_processor_choose_banner_text)%>
7
- <%= link_to t(:payment_processor_choose_link), "http://spreecommerce.com/products/gateway", :target => '_blank' %>
7
+ <%= link_to t(:payment_processor_choose_link), "http://spreecommerce.com/products/payment_processing", :target => '_blank' %>
8
8
  </p>
9
9
 
10
10
  <%= link_to t(:dismiss_banner), dismiss_banner_admin_user_path(current_user, :banner_id => :gateway),
@@ -50,7 +50,7 @@
50
50
  <% end %>
51
51
 
52
52
  <%= javascript_tag do -%>
53
- <%= render 'spree/admin/shared/update_order_state.js' %>
53
+ <%= render :partial => 'spree/admin/shared/update_order_state.js' %>
54
54
  <% end -%>
55
55
 
56
56
  <%= javascript_include_tag 'admin/orders/edit_form' %>
@@ -3,7 +3,7 @@
3
3
  <div id="preference-settings" data-hook>
4
4
  <p>
5
5
  <%= f.label(:calc_type, t(:calculator), :for => 'calc-type') %>
6
- <%= f.select(:calculator_type, @calculators.map { |c| [c.description, c.name] }, {:id => 'calc-type'}) %>
6
+ <%= f.select(:calculator_type, @calculators.map { |c| [c.description, c.name] }, {}, {:id => 'calc-type'}) %>
7
7
  </p>
8
8
  <% if !@object.new_record? %>
9
9
  <div class="calculator-settings">
@@ -1,4 +1,4 @@
1
- <div class="columns alpha six">
1
+ <div class="columns alpha six" data-hook="billing_fieldset_wrapper">
2
2
  <fieldset id="billing" data-hook>
3
3
  <%= form.fields_for :bill_address do |bill_form| %>
4
4
  <legend><%= t(:billing_address) %></legend>
@@ -81,7 +81,7 @@
81
81
  </fieldset>
82
82
  </div>
83
83
 
84
- <div class="columns omega six">
84
+ <div class="columns omega six" data-hook="shipping_fieldset_wrapper">
85
85
  <fieldset id="shipping" data-hook>
86
86
  <%= form.fields_for :ship_address do |ship_form| %>
87
87
  <legend><%= t(:shipping_address) %></legend>
@@ -4,25 +4,23 @@
4
4
  <div id="checkout" data-hook>
5
5
  <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @order } %>
6
6
 
7
- <div class="row">
8
- <h3 class="columns three alpha"><%= t(:checkout) %></h3>
9
- <div class="columns thirteen omega"><%= checkout_progress %></div>
7
+ <div class="row" data-hook="checkout_header">
8
+ <h1 class="columns three alpha" data-hook="checkout_title"><%= t(:checkout) %></h1>
9
+ <div class="columns thirteen omega" data-hook="checkout_progress"><%= checkout_progress %></div>
10
10
  </div>
11
11
 
12
- <div class="row">
13
- <div class="columns <%= if @order.state != 'confirm' then 'alpha twelve' else 'alpha omega sixteen' end %>">
12
+ <div class="row" data-hook="checkout_content">
13
+ <div class="columns <%= if @order.state != 'confirm' then 'alpha twelve' else 'alpha omega sixteen' end %>" data-hook="checkout_form_wrapper">
14
14
  <%= form_for @order, :url => update_checkout_path(@order.state), :html => { :id => "checkout_form_#{@order.state}" } do |form| %>
15
15
  <%= render @order.state, :form => form %>
16
16
  <%= submit_tag nil, :id => 'post-final', :style => 'display:none;' %>
17
17
  <% end %>
18
- </div>
19
- <div class="columns omega four">
20
- <% if @order.state != 'confirm' %>
21
- <div id="checkout-summary" data-hook="checkout_summary_box" class="columns omega four">
22
- <%= render :partial => 'summary', :locals => { :order => @order } %>
23
- </div>
24
- <% end %>
25
- </div>
18
+ </div>
19
+ <% if @order.state != 'confirm' %>
20
+ <div id="checkout-summary" data-hook="checkout_summary_box" class="columns omega four">
21
+ <%= render :partial => 'summary', :locals => { :order => @order } %>
22
+ </div>
23
+ <% end %>
26
24
  </div>
27
25
 
28
26
  </div>
@@ -1,4 +1,4 @@
1
- <tr class="<%= cycle('', 'alt') %>">
1
+ <tr class="<%= cycle('', 'alt') %> line-item">
2
2
  <td data-hook="cart_item_image">
3
3
  <% if variant.images.length == 0 %>
4
4
  <%= link_to small_image(variant.product), variant.product %>
@@ -1,8 +1,8 @@
1
1
  <div data-hook="product_show" itemscope itemtype="http://schema.org/Product">
2
2
  <% @body_id = 'product-details' %>
3
3
 
4
- <div class="columns six alpha">
5
- <div class="row">
4
+ <div class="columns six alpha" data-hook="product_left_part">
5
+ <div class="row" data-hook="product_left_part_wrap">
6
6
 
7
7
  <div id="product-images" data-hook="product_images">
8
8
  <div id="main-image" data-hook>
@@ -20,14 +20,14 @@
20
20
  </div>
21
21
  </div>
22
22
 
23
- <div class="columns ten omega">
24
- <div class="row">
23
+ <div class="columns ten omega" data-hook="product_right_part">
24
+ <div class="row" data-hook="product_right_part_wrap">
25
25
 
26
26
  <div id="product-description" data-hook="product_description">
27
27
 
28
28
  <h1 class="product-title" itemprop="name"><%= accurate_title %></h1>
29
29
 
30
- <div itemprop="description">
30
+ <div itemprop="description" data-hook="product_description">
31
31
  <%= product_description(@product) rescue t(:product_has_no_description) %>
32
32
  </div>
33
33
 
@@ -35,9 +35,7 @@
35
35
  <%= render :partial => 'cart_form' %>
36
36
  </div>
37
37
 
38
- </div>
39
-
40
-
38
+ </div>
41
39
 
42
40
  <%= render :partial => 'taxons' %>
43
41
 
@@ -43,7 +43,12 @@
43
43
  <hr />
44
44
 
45
45
  <table class="index columns alpha omega sixteen" data-hook="order_details">
46
-
46
+ <col width="15%" valign="middle" halign="center">
47
+ <col width="70%" valign="middle">
48
+ <col width="5%" valign="middle" halign="center">
49
+ <col width="5%" valign="middle" halign="center">
50
+ <col width="5%" valign="middle" halign="center">
51
+
47
52
  <thead id="line-items" data-hook>
48
53
  <tr data-hook="order_details_line_items_headers">
49
54
  <th colspan="2"><%= t(:item) %></th>
@@ -56,7 +61,7 @@
56
61
  <tbody id="line-items" data-hook>
57
62
  <% @order.line_items.each do |item| %>
58
63
  <tr data-hook="order_details_line_item_row">
59
- <td data-hook="order_item_image" width="20%">
64
+ <td data-hook="order_item_image">
60
65
  <% if item.variant.images.length == 0 %>
61
66
  <%= link_to small_image(item.variant.product), item.variant.product %>
62
67
  <% else %>
@@ -12,11 +12,11 @@
12
12
  <ul id="products" class="inline product-listing" data-hook>
13
13
  <% products.each do |product| %>
14
14
  <% if Spree::Config[:show_zero_stock_products] || product.has_stock? %>
15
- <li id="product_<%= product.id %>" class="columns three" data-hook="products_list_item" itemscope itemtype="http://schema.org/Product">
15
+ <li id="product_<%= product.id %>" class="columns three <%= cycle("alpha", "secondary", "", "omega secondary") %>" data-hook="products_list_item" itemscope itemtype="http://schema.org/Product">
16
16
  <div class="product-image">
17
17
  <%= link_to small_image(product, :itemprop => "name"), product %>
18
18
  </div>
19
- <%= link_to product.name, product, :class => 'info', :itemprop => "name" %>
19
+ <%= link_to truncate(product.name, :length => 50), product, :class => 'info', :itemprop => "name", :title => product.name %>
20
20
  <span class="price selling" itemprop="price"><%= number_to_currency product.price %></span>
21
21
  </li>
22
22
  <% end %>
@@ -24,8 +24,6 @@
24
24
  </ul>
25
25
  <% end %>
26
26
 
27
-
28
-
29
27
  <% if paginated_products.respond_to?(:num_pages)
30
28
  params.delete(:search)
31
29
  params.delete(:taxon)
@@ -6,8 +6,6 @@ module Spree
6
6
  receiver.send :layout, '/spree/layouts/spree_application'
7
7
  receiver.send :helper, 'spree/hook'
8
8
  receiver.send :before_filter, 'instantiate_controller_and_action_names'
9
- # #RAILS 3 TODO
10
- # #before_filter :touch_sti_subclasses
11
9
  receiver.send :before_filter, 'set_user_language'
12
10
 
13
11
  receiver.send :helper_method, 'title'
@@ -53,25 +51,6 @@ module Spree
53
51
  Spree::Config[:default_seo_title]
54
52
  end
55
53
 
56
- # def reject_unknown_object
57
- # # workaround to catch problems with loading errors for permalink ids (reconsider RC permalink hack elsewhere?)
58
- # begin
59
- # load_object
60
- # rescue Exception => e
61
- # @object = nil
62
- # end
63
- # the_object = instance_variable_get "@#{object_name}"
64
- # the_object = nil if (the_object.respond_to?(:deleted?) && the_object.deleted?)
65
- # unless params[:id].blank? || the_object
66
- # if self.respond_to? :object_missing
67
- # self.object_missing(params[:id])
68
- # else
69
- # render_404(Exception.new("missing object in #{self.class.to_s}"))
70
- # end
71
- # end
72
- # true
73
- # end
74
-
75
54
  def render_404(exception = nil)
76
55
  respond_to do |type|
77
56
  type.html { render :status => :not_found, :file => "#{::Rails.root}/public/404.html", :layout => nil}
@@ -119,16 +98,8 @@ module Spree
119
98
  session[:guest_token] = nil
120
99
  end
121
100
 
122
- #RAILS 3 TODO
123
- # # Load all models using STI to fix associations such as @order.credits giving no results and resulting in incorrect order totals
124
- # def touch_sti_subclasses
125
- # if Rails.env == 'development'
126
- # load(File.join(SPREE_ROOT,'config/initializers/touch.rb'))
127
- # end
128
- # end
129
-
130
101
  def set_user_language
131
- locale = session[:locale] || Spree::Config[:default_locale]
102
+ locale = session[:locale] || Spree::Config[:default_locale] || Rails.application.config.i18n.default_locale
132
103
  locale = I18n.default_locale unless locale && I18n.available_locales.include?(locale.to_sym)
133
104
  I18n.locale = locale.to_sym
134
105
  end
@@ -71,7 +71,7 @@ module Spree
71
71
 
72
72
  # sets the manifests / assets to be precompiled
73
73
  initializer "spree.assets.precompile" do |app|
74
- app.config.assets.precompile += ['store/all.*', 'admin/all.*', 'admin/orders/edit_form.js', 'jqPlot/excanvas.min.js', 'admin/images/new.js', 'jquery.jstree/themes/apple/*']
74
+ app.config.assets.precompile += ['store/all.*', 'admin/all.*', 'admin/orders/edit_form.js', 'admin/orders/address_states.js', 'jqPlot/excanvas.min.js', 'admin/images/new.js', 'jquery.jstree/themes/apple/*']
75
75
  end
76
76
 
77
77
  initializer "spree.asset.pipeline" do |app|
@@ -1,7 +1,7 @@
1
1
  FactoryGirl.define do
2
2
  factory :country, :class => Spree::Country do
3
3
  iso_name 'UNITED STATES'
4
- name 'United States'
4
+ name 'United States of Foo'
5
5
  iso 'US'
6
6
  iso3 'USA'
7
7
  numcode 840
@@ -1,5 +1,5 @@
1
1
  module Spree
2
2
  def self.version
3
- "1.0.0"
3
+ "1.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-09 00:00:00.000000000 Z
12
+ date: 2012-03-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: acts_as_list
16
- requirement: &70236783733120 !ruby/object:Gem::Requirement
16
+ requirement: &70264868578960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.1.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70236783733120
24
+ version_requirements: *70264868578960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nested_set
27
- requirement: &70236783732040 !ruby/object:Gem::Requirement
27
+ requirement: &70264868605240 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.6.8
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70236783732040
35
+ version_requirements: *70264868605240
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jquery-rails
38
- requirement: &70236783765860 !ruby/object:Gem::Requirement
38
+ requirement: &70264868603300 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -46,10 +46,10 @@ dependencies:
46
46
  version: 1.0.19
47
47
  type: :runtime
48
48
  prerelease: false
49
- version_requirements: *70236783765860
49
+ version_requirements: *70264868603300
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: highline
52
- requirement: &70236783764200 !ruby/object:Gem::Requirement
52
+ requirement: &70264868601820 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - =
@@ -57,10 +57,10 @@ dependencies:
57
57
  version: 1.6.8
58
58
  type: :runtime
59
59
  prerelease: false
60
- version_requirements: *70236783764200
60
+ version_requirements: *70264868601820
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: state_machine
63
- requirement: &70236783763600 !ruby/object:Gem::Requirement
63
+ requirement: &70264868601240 !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
66
66
  - - =
@@ -68,10 +68,10 @@ dependencies:
68
68
  version: 1.1.1
69
69
  type: :runtime
70
70
  prerelease: false
71
- version_requirements: *70236783763600
71
+ version_requirements: *70264868601240
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: ffaker
74
- requirement: &70236783762880 !ruby/object:Gem::Requirement
74
+ requirement: &70264868600580 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
77
77
  - - ~>
@@ -79,10 +79,10 @@ dependencies:
79
79
  version: 1.12.0
80
80
  type: :runtime
81
81
  prerelease: false
82
- version_requirements: *70236783762880
82
+ version_requirements: *70264868600580
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: paperclip
85
- requirement: &70236783762380 !ruby/object:Gem::Requirement
85
+ requirement: &70264868599680 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
88
88
  - - =
@@ -90,10 +90,10 @@ dependencies:
90
90
  version: 2.5.0
91
91
  type: :runtime
92
92
  prerelease: false
93
- version_requirements: *70236783762380
93
+ version_requirements: *70264868599680
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: meta_search
96
- requirement: &70236783761800 !ruby/object:Gem::Requirement
96
+ requirement: &70264868619680 !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
99
  - - =
@@ -101,10 +101,10 @@ dependencies:
101
101
  version: 1.1.1
102
102
  type: :runtime
103
103
  prerelease: false
104
- version_requirements: *70236783761800
104
+ version_requirements: *70264868619680
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: activemerchant
107
- requirement: &70236783761200 !ruby/object:Gem::Requirement
107
+ requirement: &70264868618920 !ruby/object:Gem::Requirement
108
108
  none: false
109
109
  requirements:
110
110
  - - =
@@ -112,10 +112,10 @@ dependencies:
112
112
  version: 1.20.1
113
113
  type: :runtime
114
114
  prerelease: false
115
- version_requirements: *70236783761200
115
+ version_requirements: *70264868618920
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: rails
118
- requirement: &70236783760640 !ruby/object:Gem::Requirement
118
+ requirement: &70264868618320 !ruby/object:Gem::Requirement
119
119
  none: false
120
120
  requirements:
121
121
  - - ! '>='
@@ -123,13 +123,13 @@ dependencies:
123
123
  version: 3.1.1
124
124
  - - <=
125
125
  - !ruby/object:Gem::Version
126
- version: 3.1.3
126
+ version: 3.1.4
127
127
  type: :runtime
128
128
  prerelease: false
129
- version_requirements: *70236783760640
129
+ version_requirements: *70264868618320
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: kaminari
132
- requirement: &70236783759600 !ruby/object:Gem::Requirement
132
+ requirement: &70264868617520 !ruby/object:Gem::Requirement
133
133
  none: false
134
134
  requirements:
135
135
  - - ! '>='
@@ -137,10 +137,10 @@ dependencies:
137
137
  version: 0.13.0
138
138
  type: :runtime
139
139
  prerelease: false
140
- version_requirements: *70236783759600
140
+ version_requirements: *70264868617520
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: deface
143
- requirement: &70236783758860 !ruby/object:Gem::Requirement
143
+ requirement: &70264868617000 !ruby/object:Gem::Requirement
144
144
  none: false
145
145
  requirements:
146
146
  - - ! '>='
@@ -148,10 +148,10 @@ dependencies:
148
148
  version: 0.7.2
149
149
  type: :runtime
150
150
  prerelease: false
151
- version_requirements: *70236783758860
151
+ version_requirements: *70264868617000
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: stringex
154
- requirement: &70236783752940 !ruby/object:Gem::Requirement
154
+ requirement: &70264868616380 !ruby/object:Gem::Requirement
155
155
  none: false
156
156
  requirements:
157
157
  - - ~>
@@ -159,7 +159,7 @@ dependencies:
159
159
  version: 1.3.0
160
160
  type: :runtime
161
161
  prerelease: false
162
- version_requirements: *70236783752940
162
+ version_requirements: *70264868616380
163
163
  description: Required dependency for Spree
164
164
  email: sean@spreecommerce.com
165
165
  executables: []
@@ -973,7 +973,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
973
973
  version: '0'
974
974
  segments:
975
975
  - 0
976
- hash: 360601115106515255
976
+ hash: 2163052679988616471
977
977
  requirements:
978
978
  - none
979
979
  rubyforge_project: spree_core