locomotive_ecommerce_plugin 1.0.0 → 1.0.1

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YWE5M2U2MDk3N2QxMGEwZTJjZTlkMTdiYTkyYTY1MGZiYzJhNWYwNg==
4
+ M2Y4ZTc5NzNjNmFmOTA2ODFlYjIyMjEzYTViZGZkYTMzOWFmZTBmZA==
5
5
  data.tar.gz: !binary |-
6
- YmY0ZDQ1YzA2Y2E5NDU3MzhhNzBlNzliOThjNWQ5NzliN2VmMTRlMg==
6
+ MWVhZDVlM2U4ZmQ3MDMwOWQ1ZWIwZGZiOWI3Mzc1YWU3M2E1ZDk1OA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YTRmZTY0YTM1YjZhYjVkMTQ3Mzc0OGNlN2ZhOWZhNGI0NmY1NGZjOWY2YWYz
10
- OThlNTY3ZTI3ZDgyZmE4Y2Q4NzkxNTdjYjVkZDA5NDBlMTg5ZWY0ZDgwM2E0
11
- OTkxMGE1MTM4YzQ1YTlhYTJkNTM4MWMxMjIwM2U1MmRiZTNjOWY=
9
+ NGNmMzc5ZGU5ZDQ2ZTI4NGFlMTAzNTg4ZTI1MDQ3YmNhNGJhZWM1N2MxMGQ4
10
+ OWQ1ZjA5NGQ4ZTMxMDFjY2Y1NmI1M2U5NDY2N2U0MGI5MWFjMmM0NzBkMDcy
11
+ NjVkNjE3YmE0MzBkMTRjNTRjOTBkYjU3NjMzYjJmZjk1MmM1ODg=
12
12
  data.tar.gz: !binary |-
13
- ZjlkNDAwMTdkYTdkYWU0NTdmZjZlOWQ4OWJhYjM0MjEwOWRmNDJmNzc0NWQ0
14
- OTFjMzg1YTNkZDBjNjMxNjNkOTdlMjc2NzlkZGUzNWJiMTJiMTgzMTBlMjdl
15
- OWI3OWU1M2YxZWM4ZmJkNWYxYzc0OTJlYTkxNzJiMGVkOWZmMDI=
13
+ YmI3N2VkNWQzYzk5M2MyYWY0Y2UwZWJhOTBjMTIwOTYyMjlhN2I5YmZlNmRm
14
+ Zjk3ZGMyYzI1YzlkNzhlMDY2OGU2NzU3OWM2N2U5YjhlNzhiYzhlNDZhMzVm
15
+ MzM4Y2JhYTAzMGYyNzVlMjU3YjczODRkZGY0OWI1Yzk4NjU3YzY=
@@ -23,11 +23,11 @@ module Locomotive
23
23
  end
24
24
 
25
25
  def price
26
- quantity * product_price
26
+ quantity * product_price(sku).to_i
27
27
  end
28
28
 
29
29
  def out_of_stock?
30
- quantity > product_quantity
30
+ quantity > product_quantity(sku)
31
31
  end
32
32
 
33
33
  def self.id_to_sku(id)
@@ -48,9 +48,9 @@ module Locomotive
48
48
  if i == nil
49
49
  default
50
50
  else
51
- if i.instance_method(method).arity == 0
51
+ if i.public_method(method).arity == 0
52
52
  i.send(method)
53
- elsif i.instance_method(method).arity == 0
53
+ elsif i.public_method(method).arity == 0
54
54
  i.send(method, sku)
55
55
  end
56
56
  end
@@ -90,11 +90,18 @@ module Locomotive
90
90
  "%0.2f" % @source.price.round(2)
91
91
  end
92
92
 
93
- delegate :size, :color, :sku, :product, :out_of_stock?, :quantity,
94
- :product_quantity, :cart, to: :@source
93
+ [:size, :color, :quantity, :name].each do |method|
94
+ defined = "product_#{method}".to_sym
95
+ define_method(method) do
96
+ @source.send(defined, @source.sku)
97
+ end
98
+ end
99
+
100
+ delegate :sku, :product, :out_of_stock?, :product_quantity, :cart, to: :@source
95
101
 
96
102
  protected
97
- attr_accessor :source
103
+
104
+ attr_accessor :source
98
105
  end
99
106
  end
100
107
  end
@@ -2,14 +2,21 @@ module Locomotive
2
2
  module Ecommerce
3
3
  module InventoryInterface
4
4
  # Inventory
5
- def inventory_items
6
- site = Thread.current[:site]
7
- site.plugin_object_for_id('inventory').js3_context.eval(Engine.config_or_default('shop_inventory_update'))
8
- end
9
- def inventory_items_class
10
- site = Thread.current[:site]
11
- site.plugin_object_for_id('inventory').js3_context.eval(Engine.config_or_default('shop_inventory_items'))
12
- end
5
+ def self.included(base)
6
+ base.send :extend, Methods
7
+ base.send :include, Methods
8
+ end
9
+ module Methods
10
+
11
+ def inventory_items
12
+ site = Thread.current[:site]
13
+ site.plugin_object_for_id('inventory').js3_context.eval(Engine.config_or_default('shop_inventory_update'))
14
+ end
15
+ def inventory_items_class
16
+ site = Thread.current[:site]
17
+ site.plugin_object_for_id('inventory').js3_context.eval(Engine.config_or_default('shop_inventory_items'))
18
+ end
19
+ end
13
20
  end
14
21
  end
15
- end
22
+ end
@@ -1,5 +1,5 @@
1
1
  module Locomotive
2
2
  module Ecommerce
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: locomotive_ecommerce_plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Colibri Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-10 00:00:00.000000000 Z
11
+ date: 2014-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails