kart 0.3.0 → 0.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d2bf83dd15cc1524891228328237e59c3b7beda4f3e0b9e9ed6a6e971be3ee4a
4
- data.tar.gz: e991e6732480c45cc80462b384b7f70e1aef7f7ba558c5d5dd8f614580fce7c3
3
+ metadata.gz: 0e8990c10fd06d1781b7c75933f757cceeb69d56729b4f0c444792854cd3a550
4
+ data.tar.gz: 5b688f8e2b0b50c60e858fcb904c138e7262d84258dc6cfcd2fec5c9b9c5d0f1
5
5
  SHA512:
6
- metadata.gz: 8d35dfd55dce137c04cd5c0a595c2aa3c23cc738a04e347d4141eaf1b4881e4ba4beb3ec020e3534ceca7bf24257bed0af7938018fd70dca1347664afd24f9e3
7
- data.tar.gz: ff146457772c81e9a2c0c0c379b7745656769344656ec6b236518f425a03a99831691b637e5740389c9aa41111814188940f3869a086fbacdaefe6cc9578f595
6
+ metadata.gz: 356d89b7248d442bf7e44af040b2dc911314860e7f69178ec031c107527c38fd549166ea90941e4f637a06e6dc733e7c2242e353923329abd887bc2050348455
7
+ data.tar.gz: a2e4a2d977777921347a87b6b6b7a4850590429f5552bd746e82ee04aa188bd2e0b6aaab318e67570666c501fb3bed454da0b516e7074643bb09a5a5dbe3f4f0
data/lib/kart/error.rb CHANGED
@@ -4,4 +4,7 @@ module Kart
4
4
 
5
5
  class ProductNotDefined < StandardError
6
6
  end
7
+
8
+ class ItemNotFound < StandardError
9
+ end
7
10
  end
data/lib/kart/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kart
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/kart.rb CHANGED
@@ -34,18 +34,17 @@ module Kart
34
34
  define_method "remove_from_cart" do |product|
35
35
  item = Cart.find_by _user => self.id, _product => product.id
36
36
 
37
- unless item.nil?
37
+ if item.nil?
38
+ raise Kart::ItemNotFound, "Item was not added to cart"
39
+ else
38
40
  item.quantity -= 1
39
- item.save
41
+
42
+ (item.quantity == 0) ? item.destroy : item.save
40
43
  end
41
44
  end
42
45
 
43
- define_method "remove_all_from_cart" do |product|
44
- item = Cart.find_by _user => self.id, _product => product.id
45
-
46
- unless item.nil?
47
- Cart.destroy item.id
48
- end
46
+ define_method "remove_all_from_cart" do
47
+ Cart.where(_user => self.id).destroy_all
49
48
  end
50
49
  end
51
50
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kart
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tran Son Tung
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-08 00:00:00.000000000 Z
11
+ date: 2019-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler