spree_core 3.3.0.rc3 → 3.3.0.rc4

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: c6668d5ee08583dde8ee30f6c7de79e62a5b6084
4
- data.tar.gz: 5d31cd7cae134239c4768c9e107c129a9702ffd2
3
+ metadata.gz: d2f96bb3309926f006e5d609adee97043e0f1f17
4
+ data.tar.gz: c511abfe6a45dc6bedf0f98f8492ea6bf7cc895a
5
5
  SHA512:
6
- metadata.gz: 3edae0e8a5070fe74583a4f33b45689340943661e7bb16bef1ff2d09604aa90736be587367c0bbfc8d063132dabca53aaf48f98e631e50857f2b67b4bb2570a4
7
- data.tar.gz: a029305f8e34985aecf4a4f2641c8d1e5401366501d765d2f83fa5053e743ca7ea99ca27e93e0a037ae5d68b72db27c433d2950b4e0f516ce0d308a169d610fe
6
+ metadata.gz: f3793e4c6c614a61a11f6320c1439d3f23a9939ff44312187b67b4d20c284c05f3ff2bb42fef26bec05706a5efd76dd644b095a2469cc877aa2994fb3b4a7a99
7
+ data.tar.gz: 87af4d996f9b225d4fa714696812c02c5eb5c66af60693e316e0e31cfe78874341e058efe2d5cbb3fca75cfab0292506bbd184d13b299ccf9cc0552f0f60e11c
@@ -8,13 +8,8 @@ module Spree
8
8
  class_name: 'Spree::Price',
9
9
  dependent: :destroy
10
10
 
11
- delegate_belongs_to :default_price,
12
- :display_price,
13
- :display_amount,
14
- :price,
15
- :price=,
16
- :price_including_vat_for,
17
- :currency
11
+ delegate :display_price, :display_amount, :price, :currency, :price=,
12
+ :price_including_vat_for, :currency=, to: :find_or_build_default_price
18
13
 
19
14
  after_save :save_default_price
20
15
 
@@ -26,6 +21,11 @@ module Spree
26
21
  !self.default_price.nil?
27
22
  end
28
23
 
24
+
25
+ def find_or_build_default_price
26
+ default_price || build_default_price
27
+ end
28
+
29
29
  private
30
30
 
31
31
  def default_price_changed?
@@ -73,11 +73,6 @@ module Spree
73
73
  has_many :line_items, through: :variants_including_master
74
74
  has_many :orders, through: :line_items
75
75
 
76
- delegate_belongs_to :master, :sku, :price, :currency, :display_amount, :display_price, :weight, :height, :width, :depth,
77
- :is_master, :has_default_price?, :cost_currency, :price_in, :amount_in, :cost_price, :images
78
-
79
- alias_method :master_images, :images
80
-
81
76
  has_many :variant_images, -> { order(:position) }, source: :images, through: :variants_including_master
82
77
 
83
78
  after_create :add_associations_from_prototype
@@ -118,6 +113,22 @@ module Spree
118
113
  self.whitelisted_ransackable_attributes = %w[description name slug discontinue_on]
119
114
  self.whitelisted_ransackable_scopes = %w[not_discontinued]
120
115
 
116
+ [
117
+ :sku, :price, :currency, :weight, :height, :width, :depth, :is_master,
118
+ :cost_currency, :price_in, :amount_in, :cost_price
119
+ ].each do |method_name|
120
+ delegate method_name, :"#{method_name}=", to: :find_or_build_master
121
+ end
122
+
123
+ delegate :display_amount, :display_price, :has_default_price?,
124
+ :images, to: :find_or_build_master
125
+
126
+ alias_method :master_images, :images
127
+
128
+ def find_or_build_master
129
+ master || build_master
130
+ end
131
+
121
132
  # the master variant is not a member of the variants array
122
133
  def has_variants?
123
134
  variants.any?
@@ -14,7 +14,7 @@ module Spree
14
14
  validates :transaction_id, on: :update
15
15
  validates :amount, numericality: { greater_than: 0, allow_nil: true }
16
16
  end
17
- validate :amount_is_less_than_or_equal_to_allowed_amount, on: :create
17
+ validate :amount_is_less_than_or_equal_to_allowed_amount, on: :create, if: :amount
18
18
 
19
19
  after_create :perform!
20
20
  after_create :create_log_entry
@@ -6,9 +6,8 @@ module Spree
6
6
  belongs_to :product, touch: true, class_name: 'Spree::Product', inverse_of: :variants
7
7
  belongs_to :tax_category, class_name: 'Spree::TaxCategory', optional: true
8
8
 
9
- delegate_belongs_to :product, :name, :description, :slug, :available_on,
10
- :shipping_category_id, :meta_description, :meta_keywords,
11
- :shipping_category
9
+ delegate :name, :name=, :description, :slug, :available_on, :shipping_category_id,
10
+ :meta_description, :meta_keywords, :shipping_category, to: :product
12
11
 
13
12
  # we need to have this callback before any dependent: :destroy associations
14
13
  # https://github.com/rails/rails/issues/3458
@@ -94,6 +93,7 @@ module Spree
94
93
  end
95
94
 
96
95
  def self.having_orders
96
+ warn "`Spree::Variant#having_orders` is deprecated and will be removed in Spree 3.4"
97
97
  joins(:line_items).distinct
98
98
  end
99
99
 
@@ -107,6 +107,7 @@ module Spree
107
107
 
108
108
  # returns number of units currently on backorder for this variant.
109
109
  def on_backorder
110
+ warn "`Spree::Variant#on_backorder` is deprecated and will be removed in Spree 3.4"
110
111
  inventory_units.with_state('backordered').size
111
112
  end
112
113
 
@@ -995,7 +995,7 @@ en:
995
995
  order_number: Order %{number}
996
996
  order_processed_successfully: Your order has been processed successfully
997
997
  order_resumed: Order resumed
998
- order_states:
998
+ order_state:
999
999
  address: address
1000
1000
  awaiting_return: awaiting return
1001
1001
  canceled: canceled
@@ -30,7 +30,14 @@ module Spree
30
30
  opts[:database] = 'sqlite3' if opts[:database].blank?
31
31
  opts[:force] = true
32
32
  opts[:skip_bundle] = true
33
- opts[:old_style_hash] = true
33
+ opts[:skip_gemfile] = true
34
+ opts[:skip_git] = true
35
+ opts[:skip_keeps] = true
36
+ opts[:skip_listen] = true
37
+ opts[:skip_rc] = true
38
+ opts[:skip_spring] = true
39
+ opts[:skip_test] = true
40
+ opts[:skip_yarn] = true
34
41
 
35
42
  puts "Generating dummy Rails application..."
36
43
  invoke Rails::Generators::AppGenerator,
@@ -6,6 +6,7 @@
6
6
  //
7
7
  //= require jquery
8
8
  //= require jquery_ujs
9
+ //= require accounting.min
9
10
  //= require spree/frontend
10
11
  <% unless options[:lib_name] == 'spree' || options[:lib_name] == 'spree/frontend' %>
11
12
  <% filename = "spree/frontend/#{ options[:lib_name].gsub("/", "_") }" %>
@@ -32,6 +32,10 @@ module DelegateBelongsTo
32
32
  # delegate_belongs_to :contact, [:defaults, :address, :fullname], class_name: 'VCard'
33
33
  ##
34
34
  def delegate_belongs_to(association, *attrs)
35
+ ActiveSupport::Deprecation.warn(<<-EOS, caller)
36
+ DelegateBelongsTo module is deprecated and will be removed in Spree 3.4
37
+ EOS
38
+
35
39
  opts = attrs.extract_options!
36
40
  initialize_association :belongs_to, association, opts
37
41
  attrs = get_association_column_names(association) if attrs.empty?
@@ -1,5 +1,5 @@
1
1
  module Spree
2
2
  def self.version
3
- "3.3.0.rc3"
3
+ "3.3.0.rc4"
4
4
  end
5
5
  end
data/lib/spree/money.rb CHANGED
@@ -40,6 +40,16 @@ module Spree
40
40
  to_s
41
41
  end
42
42
 
43
+ def decimal_mark
44
+ return @money.decimal_mark if @options[:decimal_mark].nil?
45
+ @options[:decimal_mark]
46
+ end
47
+
48
+ def thousands_separator
49
+ return @money.thousands_separator if @options[:thousands_separator].nil?
50
+ @options[:thousands_separator]
51
+ end
52
+
43
53
  def ==(obj)
44
54
  @money == obj.money
45
55
  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.3.0.rc3
4
+ version: 3.3.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-03 00:00:00.000000000 Z
11
+ date: 2017-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemerchant
@@ -984,7 +984,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
984
984
  version: 1.8.23
985
985
  requirements: []
986
986
  rubyforge_project:
987
- rubygems_version: 2.6.10
987
+ rubygems_version: 2.6.12
988
988
  signing_key:
989
989
  specification_version: 4
990
990
  summary: The bare bones necessary for Spree.