spree_core 3.0.7 → 3.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 115df4d11436bf38a7ac25ec4df157afd3be9e2e
4
- data.tar.gz: dca84f3bfcac4668841040138b89b59b67f5a7e8
3
+ metadata.gz: 583794c5e3cd674e1f9789560d9e34515224977d
4
+ data.tar.gz: d6cf78844bad3a85cabc73e4bb54d0941dd8a9a9
5
5
  SHA512:
6
- metadata.gz: fcaf7fd4531a5fe397734c79512af0b2296405f1cf22589ea6c206ea58edbd47ae913f8917a6f2a14fc7eb8e774eb195cafc2db4b410c1854e68a9728585b4be
7
- data.tar.gz: d0e292646219d85e15fc6a4121ac0ab7cb2ec65c8bf8379691338267aa2deec5f9ce229cb8893aef42a8ed73662254a7312b7f02d249bac3a3146481d6fb414c
6
+ metadata.gz: 7e6b1eedc005c55272a53cbda8a31bdaf5ce8979144e5ba1aa262a28a57f825c2377cffb3ce18c2a44c57553eb3a824ffbfdd2fda6c1c12f8c06d24565549306
7
+ data.tar.gz: 94c3e21a3aff46211526a2a4d263306a7589a0a07d0f74700e588cdee5315d9365092d39d5c59ac736140fddc4a49b0c85de7534196875c5373c753a67860f45
data/Rakefile CHANGED
@@ -1,27 +1,12 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
  require 'rake/testtask'
4
- require 'rake/packagetask'
5
- require 'rubygems/package_task'
6
4
  require 'rspec/core/rake_task'
7
5
  require 'spree/testing_support/common_rake'
8
- load 'lib/tasks/exchanges.rake'
9
6
 
10
- Bundler::GemHelper.install_tasks
11
7
  RSpec::Core::RakeTask.new
12
8
 
13
- spec = eval(File.read('spree_core.gemspec'))
14
- Gem::PackageTask.new(spec) do |p|
15
- p.gem_spec = spec
16
- end
17
-
18
- desc "Release to gemcutter"
19
- task :release do
20
- version = File.read(File.expand_path("../../SPREE_VERSION", __FILE__)).strip
21
- cmd = "cd pkg && gem push spree_core-#{version}.gem"; puts cmd; system cmd
22
- end
23
-
24
- task :default => :spec
9
+ task default: :spec
25
10
 
26
11
  desc "Generates a dummy app for testing"
27
12
  task :test_app do
@@ -13,6 +13,7 @@ module Spree
13
13
  include Spree::Order::CurrencyUpdater
14
14
  include Spree::Order::Payments
15
15
  include Spree::NumberGenerator
16
+ include Spree::Core::TokenGenerator
16
17
 
17
18
  def generate_number(options = {})
18
19
  options[:prefix] ||= 'R'
@@ -628,10 +629,7 @@ module Spree
628
629
  end
629
630
 
630
631
  def create_token
631
- self.guest_token ||= loop do
632
- random_token = SecureRandom.urlsafe_base64(nil, false)
633
- break random_token unless self.class.exists?(guest_token: random_token)
634
- end
632
+ self.guest_token ||= generate_guest_token
635
633
  end
636
634
  end
637
635
  end
@@ -38,8 +38,6 @@ module Spree
38
38
 
39
39
  klass = self
40
40
 
41
- # To avoid a ton of warnings when the state machine is re-defined
42
- StateMachines::Machine.ignore_method_conflicts = true
43
41
  # To avoid multiple occurrences of the same transition being defined
44
42
  # On first definition, state_machines will not be defined
45
43
  state_machines.clear if respond_to?(:state_machines)
@@ -0,0 +1 @@
1
+ Rails.application.config.assets.precompile += %w( logo/spree_50.png noimage/*.png )
@@ -1,16 +1,15 @@
1
1
  class CreateShippingMethodZone < ActiveRecord::Migration
2
+ class ShippingMethodZone < ActiveRecord::Base
3
+ self.table_name = 'shipping_methods_zones'
4
+ end
2
5
  def up
3
6
  create_table :shipping_methods_zones, :id => false do |t|
4
7
  t.integer :shipping_method_id
5
8
  t.integer :zone_id
6
9
  end
7
- # This association has been corrected in a latter migration
8
- # but when this database migration runs, the table is still incorrectly named
9
- # 'shipping_methods_zones' instead of 'spre_shipping_methods_zones'
10
- Spree::ShippingMethod.has_and_belongs_to_many :zones, :join_table => 'shipping_methods_zones',
11
- :class_name => 'Spree::Zone',
12
- :foreign_key => 'shipping_method_id'
13
- Spree::ShippingMethod.all.each{|sm| sm.zones << Spree::Zone.find(sm.zone_id)}
10
+ Spree::ShippingMethod.all.each do |sm|
11
+ ShippingMethodZone.create!(zone_id: sm.zone_id, shipping_method_id: sm.id)
12
+ end
14
13
 
15
14
  remove_column :spree_shipping_methods, :zone_id
16
15
  end
@@ -1,10 +1,5 @@
1
1
  class RenameShippingMethodsZonesToSpreeShippingMethodsZones < ActiveRecord::Migration
2
2
  def change
3
3
  rename_table :shipping_methods_zones, :spree_shipping_methods_zones
4
- # If Spree::ShippingMethod zones association was patched in
5
- # CreateShippingMethodZone migrations, it needs to be patched back
6
- Spree::ShippingMethod.has_and_belongs_to_many :zones, :join_table => 'spree_shipping_methods_zones',
7
- :class_name => 'Spree::Zone',
8
- :foreign_key => 'shipping_method_id'
9
4
  end
10
5
  end
@@ -38,14 +38,6 @@ module Spree
38
38
  template 'config/initializers/spree.rb', 'config/initializers/spree.rb'
39
39
  end
40
40
 
41
- def config_spree_yml
42
- create_file "config/spree.yml" do
43
- settings = { 'version' => Spree.version }
44
-
45
- settings.to_yaml
46
- end
47
- end
48
-
49
41
  def additional_tweaks
50
42
  return unless File.exists? 'public/robots.txt'
51
43
  append_file "public/robots.txt", <<-ROBOTS
@@ -175,7 +167,7 @@ Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
175
167
  # If you would like to change where this engine is mounted, simply change the :at option to something different.
176
168
  #
177
169
  # We ask that you don't use the :as option here, as Spree relies on it being the default of "spree"
178
- mount Spree::Core::Engine, :at => '/'
170
+ mount Spree::Core::Engine, at: '/'
179
171
  }
180
172
  end
181
173
 
@@ -183,7 +175,7 @@ Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
183
175
  puts "*" * 50
184
176
  puts "We added the following line to your application's config/routes.rb file:"
185
177
  puts " "
186
- puts " mount Spree::Core::Engine, :at => '/'"
178
+ puts " mount Spree::Core::Engine, at: '/'"
187
179
  end
188
180
  end
189
181
 
@@ -195,5 +187,23 @@ Spree::Auth::Engine.load_seed if defined?(Spree::Auth)
195
187
  puts "Enjoy!"
196
188
  end
197
189
  end
190
+
191
+ protected
192
+
193
+ def javascript_exists?(script)
194
+ extensions = %w(.js.coffee .js.erb .js.coffee.erb .js)
195
+ file_exists?(extensions, script)
196
+ end
197
+
198
+ def stylesheet_exists?(stylesheet)
199
+ extensions = %w(.css.scss .css.erb .css.scss.erb .css)
200
+ file_exists?(extensions, stylesheet)
201
+ end
202
+
203
+ def file_exists?(extensions, filename)
204
+ extensions.detect do |extension|
205
+ File.exists?("#{filename}#{extension}")
206
+ end
207
+ end
198
208
  end
199
209
  end
@@ -8,6 +8,10 @@
8
8
  //= require jquery_ujs
9
9
  //= require spree/backend
10
10
  <% unless options[:lib_name] == 'spree' || options[:lib_name] == 'spree/backend' %>
11
- //= require spree/backend/<%= options[:lib_name].gsub("/", "_") %>
11
+ <% filename = "spree/backend/#{ options[:lib_name].gsub("/", "_") }" %>
12
+ <% filepath = File.join(File.dirname(__FILE__), "../../app/assets/javascripts/#{filename}") %>
13
+ <% if javascript_exists?(filepath) %>
14
+ //= require <%= filename %>
15
+ <% end %>
12
16
  <% end %>
13
17
  //= require_tree .
@@ -8,6 +8,10 @@
8
8
  //= require jquery_ujs
9
9
  //= require spree/frontend
10
10
  <% unless options[:lib_name] == 'spree' || options[:lib_name] == 'spree/frontend' %>
11
- //= require spree/frontend/<%= options[:lib_name].gsub("/", "_") %>
11
+ <% filename = "spree/frontend/#{ options[:lib_name].gsub("/", "_") }" %>
12
+ <% filepath = File.join(File.dirname(__FILE__), "../../app/assets/javascripts/#{ filename }") %>
13
+ <% if javascript_exists?(filepath) %>
14
+ //= require <%= filename %>
15
+ <% end %>
12
16
  <% end %>
13
17
  //= require_tree .
@@ -5,7 +5,11 @@
5
5
  *
6
6
  *= require spree/backend
7
7
  <% unless options[:lib_name] == 'spree' || options[:lib_name] == 'spree/backend' %>
8
- *= require spree/backend/<%= options[:lib_name].gsub("/", "_") %>
8
+ <% filename = "spree/backend/#{ options[:lib_name].gsub("/", "_") }" %>
9
+ <% filepath = File.join(File.dirname(__FILE__), "../../app/assets/stylesheets/#{ filename }") %>
10
+ <% if stylesheet_exists?(filepath) %>
11
+ *= require <%= filename %>
12
+ <% end %>
9
13
  <% end %>
10
14
  *= require_self
11
15
  *= require_tree .
@@ -5,7 +5,11 @@
5
5
  *
6
6
  *= require spree/frontend
7
7
  <% unless options[:lib_name] == 'spree' || options[:lib_name] == 'spree/frontend' %>
8
- *= require spree/frontend/<%= options[:lib_name].gsub("/", "_") %>
8
+ <% filename = "spree/frontend/#{ options[:lib_name].gsub("/", "_") }" %>
9
+ <% filepath = File.join(File.dirname(__FILE__), "../../app/assets/stylesheets/#{ filename }") %>
10
+ <% if stylesheet_exists?(filepath) %>
11
+ *= require <%= filename %>
12
+ <% end %>
9
13
  <% end %>
10
14
  *= require_self
11
15
  *= require_tree .
@@ -15,6 +15,10 @@ require 'ransack'
15
15
  require 'responders'
16
16
  require 'state_machines-activerecord'
17
17
 
18
+ # This is required because ActiveModel::Validations#invalid? conflicts with the
19
+ # invalid state of a Payment. In the future this should be removed.
20
+ StateMachines::Machine.ignore_method_conflicts = true
21
+
18
22
  module Spree
19
23
 
20
24
  mattr_accessor :user_class
@@ -43,6 +47,7 @@ module Spree
43
47
 
44
48
  module Core
45
49
  autoload :ProductFilters, "spree/core/product_filters"
50
+ autoload :TokenGenerator, "spree/core/token_generator"
46
51
 
47
52
  class GatewayError < RuntimeError; end
48
53
  class DestroyWithOrdersError < StandardError; end
@@ -3,9 +3,10 @@ module Spree
3
3
  module ControllerHelpers
4
4
  module Auth
5
5
  extend ActiveSupport::Concern
6
+ include Spree::Core::TokenGenerator
6
7
 
7
8
  included do
8
- before_filter :set_guest_token
9
+ before_action :set_guest_token
9
10
  helper_method :try_spree_current_user
10
11
 
11
12
  rescue_from CanCan::AccessDenied do |exception|
@@ -24,8 +25,8 @@ module Spree
24
25
  end
25
26
 
26
27
  def set_guest_token
27
- unless cookies.signed[:guest_token].present?
28
- cookies.permanent.signed[:guest_token] = SecureRandom.urlsafe_base64(nil, false)
28
+ if cookies.signed[:guest_token].blank?
29
+ cookies.permanent.signed[:guest_token] = generate_guest_token
29
30
  end
30
31
  end
31
32
 
@@ -10,7 +10,7 @@ module Spree
10
10
 
11
11
  layout :get_layout
12
12
 
13
- before_filter :set_user_language
13
+ before_action :set_user_language
14
14
 
15
15
  protected
16
16
 
@@ -5,7 +5,7 @@ module Spree
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
- before_filter :set_current_order
8
+ before_action :set_current_order
9
9
 
10
10
  helper_method :current_order
11
11
  helper_method :simple_current_order
@@ -0,0 +1,22 @@
1
+ module Spree
2
+ module Core
3
+ module TokenGenerator
4
+ def generate_guest_token(model_class = Spree::Order)
5
+ loop do
6
+ token = "#{random_token}#{unique_ending}"
7
+ break token unless model_class.exists?(guest_token: token)
8
+ end
9
+ end
10
+
11
+ private
12
+
13
+ def random_token
14
+ SecureRandom.urlsafe_base64(nil, false)
15
+ end
16
+
17
+ def unique_ending
18
+ (Time.now.to_f * 1000).to_i
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,5 +1,5 @@
1
1
  module Spree
2
2
  def self.version
3
- '3.0.7'
3
+ '3.0.8'
4
4
  end
5
5
  end
@@ -21,12 +21,12 @@ module Spree
21
21
  # Shouldn't run on test mode because migrations inside engine don't have
22
22
  # engine name on the file name
23
23
  def check
24
- if File.exists?("config/spree.yml") && File.directory?("db/migrate")
24
+ if File.directory?(app_dir)
25
25
  engine_in_app = app_migrations.map do |file_name|
26
26
  name, engine = file_name.split(".", 2)
27
27
  next unless match_engine?(engine)
28
28
  name
29
- end.compact! || []
29
+ end.compact
30
30
 
31
31
  missing_migrations = engine_migrations.sort - engine_in_app.sort
32
32
  unless missing_migrations.empty?
@@ -41,28 +41,37 @@ module Spree
41
41
  end
42
42
 
43
43
  private
44
- def engine_migrations
45
- Dir.entries("#{config.root}/db/migrate").map do |file_name|
46
- name = file_name.split("_", 2).last.split(".", 2).first
47
- name.empty? ? next : name
48
- end.compact! || []
49
- end
50
44
 
51
- def app_migrations
52
- Dir.entries("db/migrate").map do |file_name|
53
- next if [".", ".."].include? file_name
54
- name = file_name.split("_", 2).last
55
- name.empty? ? next : name
56
- end.compact! || []
57
- end
45
+ def engine_migrations
46
+ Dir.entries(engine_dir).map do |file_name|
47
+ name = file_name.split("_", 2).last.split(".", 2).first
48
+ name.empty? ? next : name
49
+ end.compact! || []
50
+ end
58
51
 
59
- def match_engine?(engine)
60
- if engine_name == "spree"
61
- # Avoid stores upgrading from 1.3 getting wrong warnings
62
- ["spree.rb", "spree_promo.rb"].include? engine
63
- else
64
- engine == "#{engine_name}.rb"
65
- end
52
+ def app_migrations
53
+ Dir.entries(app_dir).map do |file_name|
54
+ next if [".", ".."].include? file_name
55
+ name = file_name.split("_", 2).last
56
+ name.empty? ? next : name
57
+ end.compact! || []
58
+ end
59
+
60
+ def app_dir
61
+ "#{Rails.root}/db/migrate"
62
+ end
63
+
64
+ def engine_dir
65
+ "#{config.root}/db/migrate"
66
+ end
67
+
68
+ def match_engine?(engine)
69
+ if engine_name == "spree"
70
+ # Avoid stores upgrading from 1.3 getting wrong warnings
71
+ ["spree.rb", "spree_promo.rb"].include? engine
72
+ else
73
+ engine == "#{engine_name}.rb"
66
74
  end
75
+ end
67
76
  end
68
77
  end
@@ -101,12 +101,28 @@ module CapybaraExt
101
101
  first(:xpath, "//label[text()[contains(.,'#{text}')]]")
102
102
  end
103
103
 
104
- def wait_for_ajax
104
+ # arg delay in seconds
105
+ def wait_for_ajax(delay = Capybara.default_max_wait_time)
105
106
  counter = 0
107
+ delay_threshold = delay * 10
106
108
  while page.evaluate_script("typeof($) === 'undefined' || $.active > 0")
107
109
  counter += 1
108
110
  sleep(0.1)
109
- raise "AJAX request took longer than 5 seconds." if counter >= 50
111
+ raise "AJAX request took longer than #{delay} seconds." if counter >= delay_threshold
112
+ end
113
+ end
114
+
115
+ # "Intelligiently" wait on condition
116
+ #
117
+ # Much better than a random sleep "here and there"
118
+ # it will not cause any delay in case the condition is fullfilled on first cycle.
119
+ def wait_for_condition(delay = Capybara.default_max_wait_time)
120
+ counter = 0
121
+ delay_threshold = delay * 10
122
+ while !yield
123
+ counter += 1
124
+ sleep(0.1)
125
+ raise "Could not achieve condition within #{delay} seconds." if counter >= delay_threshold
110
126
  end
111
127
  end
112
128
 
@@ -6,11 +6,11 @@ require 'generators/spree/dummy/dummy_generator'
6
6
 
7
7
  desc "Generates a dummy app for testing"
8
8
  namespace :common do
9
- task :test_app, :user_class do |t, args|
10
- args.with_defaults(:user_class => "Spree::LegacyUser")
11
- require "#{ENV['LIB_NAME']}"
9
+ task :test_app, :user_class do |_t, args|
10
+ args.with_defaults(user_class: "Spree::LegacyUser")
11
+ require ENV['LIB_NAME'].to_s
12
12
 
13
- ENV["RAILS_ENV"] = 'test'
13
+ ENV['RAILS_ENV'] = 'test'
14
14
 
15
15
  Spree::DummyGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--quiet"]
16
16
  Spree::InstallGenerator.start ["--lib_name=#{ENV['LIB_NAME']}", "--auto-accept", "--migrate=false", "--seed=false", "--sample=false", "--quiet", "--user_class=#{args[:user_class]}"]
@@ -30,16 +30,8 @@ namespace :common do
30
30
  end
31
31
  end
32
32
 
33
- task :seed do |t, args|
33
+ task :seed do |_t|
34
34
  puts "Seeding ..."
35
- cmd = "bundle exec rake db:seed RAILS_ENV=test"
36
-
37
- if RUBY_PLATFORM =~ /mswin|mingw/ # windows
38
- cmd += " >nul"
39
- else
40
- cmd += " >/dev/null"
41
- end
42
-
43
- system(cmd)
35
+ system("bundle exec rake db:seed RAILS_ENV=test > #{File::NULL}")
44
36
  end
45
37
  end
@@ -46,6 +46,11 @@ module Spree
46
46
  process_spree_action(action, parameters, session, flash, "PUT")
47
47
  end
48
48
 
49
+ # Executes a request simulating PATCH HTTP method and set/volley the response
50
+ def spree_patch(action, parameters = nil, session = nil, flash = nil)
51
+ process_spree_action(action, parameters, session, flash, "PATCH")
52
+ end
53
+
49
54
  # Executes a request simulating DELETE HTTP method and set/volley the response
50
55
  def spree_delete(action, parameters = nil, session = nil, flash = nil)
51
56
  process_spree_action(action, parameters, session, flash, "DELETE")
@@ -63,6 +68,10 @@ module Spree
63
68
  process_spree_xhr_action(action, parameters, session, flash, :put)
64
69
  end
65
70
 
71
+ def spree_xhr_patch(action, parameters = nil, session = nil, flash = nil)
72
+ process_spree_xhr_action(action, parameters, session, flash, :patch)
73
+ end
74
+
66
75
  def spree_xhr_delete(action, parameters = nil, session = nil, flash = nil)
67
76
  process_spree_xhr_action(action, parameters, session, flash, :delete)
68
77
  end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::Core::TokenGenerator do
4
+ class DummyClass
5
+ include Spree::Core::TokenGenerator
6
+
7
+ attr_reader :created_at
8
+
9
+ def initialize
10
+ @created_at = Time.now.to_i
11
+ end
12
+ end
13
+
14
+ let(:dummy_class_instance) { DummyClass.new }
15
+
16
+ describe 'generate_guest_token' do
17
+ let(:generated_token) { dummy_class_instance.generate_guest_token }
18
+
19
+ it 'generates random token with timestamp' do
20
+ expect(generated_token.size).to eq 35
21
+ expect(generated_token).to include dummy_class_instance.created_at.to_s
22
+ end
23
+ end
24
+ end
@@ -7,16 +7,18 @@ module Spree
7
7
 
8
8
  let(:config) { double("Config", root: "dir") }
9
9
 
10
- subject { described_class.new(config, "spree") }
10
+ let(:engine_dir) { "dir/db/migrate" }
11
+ let(:app_dir) { "#{Rails.root}/db/migrate" }
12
+
13
+ subject { described_class.new(config, "spree") }
11
14
 
12
15
  before do
13
- expect(File).to receive(:exists?).with("config/spree.yml").and_return true
14
- expect(File).to receive(:directory?).with("db/migrate").and_return true
16
+ expect(File).to receive(:directory?).with(app_dir).and_return true
15
17
  end
16
18
 
17
19
  it "warns about missing migrations" do
18
- expect(Dir).to receive(:entries).with("db/migrate").and_return app_migrations
19
- expect(Dir).to receive(:entries).with("dir/db/migrate").and_return engine_migrations
20
+ expect(Dir).to receive(:entries).with(app_dir).and_return app_migrations
21
+ expect(Dir).to receive(:entries).with(engine_dir).and_return engine_migrations
20
22
 
21
23
  silence_stream(STDOUT) {
22
24
  expect(subject.check).to eq true
@@ -25,8 +27,8 @@ module Spree
25
27
 
26
28
  context "no missing migrations" do
27
29
  it "says nothing" do
28
- expect(Dir).to receive(:entries).with("dir/db/migrate").and_return engine_migrations
29
- expect(Dir).to receive(:entries).with("db/migrate").and_return (app_migrations + engine_migrations)
30
+ expect(Dir).to receive(:entries).with(engine_dir).and_return engine_migrations
31
+ expect(Dir).to receive(:entries).with(app_dir).and_return(app_migrations + engine_migrations)
30
32
  expect(subject.check).to eq nil
31
33
  end
32
34
  end
@@ -67,15 +67,15 @@ describe Spree::Order, :type => :model do
67
67
  end
68
68
  end
69
69
 
70
- context "#create" do
70
+ context '#create' do
71
71
  let(:order) { Spree::Order.create }
72
72
 
73
- it "should assign an order number" do
73
+ it 'should assign an order number' do
74
74
  expect(order.number).not_to be_nil
75
75
  end
76
76
 
77
- it 'should create a randomized 22 character token' do
78
- expect(order.guest_token.size).to eq(22)
77
+ it 'should create a randomized 35 character token' do
78
+ expect(order.guest_token.size).to eq(35)
79
79
  end
80
80
  end
81
81
 
@@ -1,10 +1,10 @@
1
1
  # encoding: UTF-8
2
- version = File.read(File.expand_path("../../SPREE_VERSION", __FILE__)).strip
2
+ require_relative 'lib/spree/core/version.rb'
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.platform = Gem::Platform::RUBY
6
6
  s.name = 'spree_core'
7
- s.version = version
7
+ s.version = Spree.version
8
8
  s.summary = 'The bare bones necessary for Spree.'
9
9
  s.description = 'The bare bones necessary for Spree.'
10
10
 
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.author = 'Sean Schofield'
15
15
  s.email = 'sean@spreecommerce.com'
16
16
  s.homepage = 'http://spreecommerce.com'
17
- s.license = %q{BSD-3}
17
+ s.license = 'BSD-3'
18
18
 
19
19
  s.files = `git ls-files`.split("\n")
20
20
  s.require_path = 'lib'
@@ -42,7 +42,7 @@ Gem::Specification.new do |s|
42
42
  s.add_dependency 'stringex'
43
43
  s.add_dependency 'truncate_html', '0.9.2'
44
44
  s.add_dependency 'twitter_cldr', '~> 3.0'
45
- s.add_dependency 'sprockets-rails', '~> 2.0'
45
+ s.add_dependency 'sprockets-rails'
46
46
 
47
47
  s.add_development_dependency 'email_spec', '~> 1.6'
48
48
  end
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.0.7
4
+ version: 3.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-23 00:00:00.000000000 Z
11
+ date: 2016-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -342,16 +342,16 @@ dependencies:
342
342
  name: sprockets-rails
343
343
  requirement: !ruby/object:Gem::Requirement
344
344
  requirements:
345
- - - "~>"
345
+ - - ">="
346
346
  - !ruby/object:Gem::Version
347
- version: '2.0'
347
+ version: '0'
348
348
  type: :runtime
349
349
  prerelease: false
350
350
  version_requirements: !ruby/object:Gem::Requirement
351
351
  requirements:
352
- - - "~>"
352
+ - - ">="
353
353
  - !ruby/object:Gem::Version
354
- version: '2.0'
354
+ version: '0'
355
355
  - !ruby/object:Gem::Dependency
356
356
  name: email_spec
357
357
  requirement: !ruby/object:Gem::Requirement
@@ -569,6 +569,7 @@ files:
569
569
  - app/views/spree/shipment_mailer/shipped_email.text.erb
570
570
  - app/views/spree/test_mailer/test_email.html.erb
571
571
  - app/views/spree/test_mailer/test_email.text.erb
572
+ - config/initializers/assets.rb
572
573
  - config/initializers/friendly_id.rb
573
574
  - config/initializers/premailer_assets.rb
574
575
  - config/initializers/user_class_extensions.rb
@@ -826,6 +827,7 @@ files:
826
827
  - lib/spree/core/product_filters.rb
827
828
  - lib/spree/core/routes.rb
828
829
  - lib/spree/core/search/base.rb
830
+ - lib/spree/core/token_generator.rb
829
831
  - lib/spree/core/validators/email.rb
830
832
  - lib/spree/core/version.rb
831
833
  - lib/spree/i18n.rb
@@ -914,6 +916,7 @@ files:
914
916
  - spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb
915
917
  - spec/lib/spree/core/delegate_belongs_to_spec.rb
916
918
  - spec/lib/spree/core/importer/order_spec.rb
919
+ - spec/lib/spree/core/token_generator_spec.rb
917
920
  - spec/lib/spree/core/validators/email_spec.rb
918
921
  - spec/lib/spree/localized_number_spec.rb
919
922
  - spec/lib/spree/migrations_spec.rb