epages-rest 1.0.3 → 1.0.4

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
  SHA1:
3
- metadata.gz: abbbdaf768efb6c4a943963ef45e768d5adc434b
4
- data.tar.gz: ee5a7d1afbd68df9f2e188ced17aad97f3658aab
3
+ metadata.gz: fafdb220142f238edcc64a66dc7dd8b45c175ad4
4
+ data.tar.gz: db9b309d88f49ce649abc04c7776a6d914a05e26
5
5
  SHA512:
6
- metadata.gz: c8490ff0dc25cc868dbfc794908a9bc422898150d24b0202b300251eb26ecd9b6bb396992708c71648eb69b2480bcd1a983c4c99b33dbc171593d96294df91ea
7
- data.tar.gz: af53cbc4a04ef403810b94b28b4c404eb1fb11eb3bbce92a231f0b5cee2f824b5bd250d7506173ce1fab134dc5bd0287680cb6b547b1d1fcc0c14dce46521b2f
6
+ metadata.gz: d6c7bc46d20543e1bc2e303062a8f1ac8aef70673e95cf035aaa1172419d8871064204f6b18611e3479870f95f848dd398469fb29e86306ae7fa8b5432b091c0
7
+ data.tar.gz: 3f93d80851535b4d880a0d29e34708047cdfaf48177d418c869a36aa769d3339f6e96cc23cde9325cd1a478cc699597dba309e2967984b2f3d0aebcb3a085041
data/lib/epages/cart.rb CHANGED
@@ -14,5 +14,7 @@ module Epages
14
14
  parse_attribute_as(:line_item_container, data.delete(:lineItemContainer), Epages::LineItemContainer)
15
15
  parse_attributes(data)
16
16
  end
17
+
18
+ alias_method :id, :cart_id
17
19
  end
18
20
  end
@@ -10,9 +10,9 @@ module Epages
10
10
  attr_reader *KEYS
11
11
 
12
12
  def initialize(data)
13
- @images = data.delete(:images).collect { |i| Epages::Image.new(i) }
14
- @links = data.delete(:links).collect { |i| Epages::Link.new(i) }
15
- @sub_categories = data.delete(:subCategories).collect { |i| Epages::Link.new(i) }
13
+ @images = data.delete(:images).collect { |i| Epages::Image.new(i) } if data[:images]
14
+ @links = data.delete(:links).collect { |i| Epages::Link.new(i) } if data[:links]
15
+ @sub_categories = data.delete(:subCategories).collect { |i| Epages::Link.new(i) } if data[:subCategories]
16
16
  @parent = Epages::Link.new(data.delete(:parent)) if data[:parent]
17
17
  parse_attributes(data)
18
18
  end
@@ -21,5 +21,7 @@ module Epages
21
21
  return false if other.class != Epages::Category
22
22
  category_id == other.category_id && name == other.name
23
23
  end
24
+
25
+ alias_method :id, :category_id
24
26
  end
25
27
  end
@@ -4,10 +4,11 @@ module Epages
4
4
  class ImageSize
5
5
  include Epages::Utils
6
6
 
7
- attr_accessor :images
7
+ attr_accessor :images, :name
8
8
 
9
9
  def initialize(data)
10
- parse_attribute_as_array_of(:images, data[:sizes], Epages::Image)
10
+ parse_attribute_as_array_of(:images, data.delete(:sizes), Epages::Image)
11
+ parse_attributes(data)
11
12
  end
12
13
 
13
14
  # return a sorted array with the name of all available sizes
@@ -22,5 +23,10 @@ module Epages
22
23
  link = images.find { |i| i.classifier == size }
23
24
  link ? link.url : nil
24
25
  end
26
+
27
+ # return the length of the slideshow
28
+ def length
29
+ images.size
30
+ end
25
31
  end
26
32
  end
data/lib/epages/order.rb CHANGED
@@ -9,20 +9,26 @@ module Epages
9
9
  cancelled_on closed_on paid_on returned_on)
10
10
 
11
11
  ATTRS = %w(order_id order_number billing_address shipping_address customer_id locale currency_id tax_model
12
- grand_total total_before_tax comment line_item_container product_line_items shipping_price links)
12
+ grand_total total_before_tax line_item_container product_line_items shipping_price links internal_note
13
+ customer_comment shipping_data payment_data)
13
14
 
14
15
  KEYS = (ATTRS + DATE_ATTRS).collect(&:to_sym).freeze
15
16
 
16
17
  attr_reader *KEYS
17
18
 
18
19
  def initialize(data)
20
+ DATE_ATTRS.each { |i| parse_attribute_as(i.to_sym, data.delete(i.camelize(:lower).to_sym), DateTime) }
19
21
  parse_attribute_as_array_of(:links, data.delete(:links), Epages::Link)
20
22
  parse_attribute_as_array_of(:product_line_items, data.delete(:productLineItems), Epages::ProductLineItem)
21
23
  parse_attribute_as(:shipping_price, data.delete(:shippingPrice), Epages::Price)
22
24
  parse_attribute_as(:billing_address, data.delete(:billingAddress), Epages::Address)
23
25
  parse_attribute_as(:shipping_address, data.delete(:shippingAddress), Epages::Address)
24
26
  parse_attribute_as(:line_item_container, data.delete(:lineItemContainer), Epages::LineItemContainer)
27
+ parse_attribute_as(:shipping_data, data.delete(:shippingData), Epages::ShippingData)
28
+ parse_attribute_as(:payment_data, data.delete(:paymentData), Epages::PaymentData)
25
29
  parse_attributes(data)
26
30
  end
31
+
32
+ alias_method :id, :order_id
27
33
  end
28
34
  end
@@ -0,0 +1,16 @@
1
+ require 'epages/utils'
2
+
3
+ module Epages
4
+ class PaymentData
5
+ include Epages::Utils
6
+
7
+ KEYS = %w(payment_method price).collect(&:to_sym).freeze
8
+
9
+ attr_reader *KEYS
10
+
11
+ def initialize(data)
12
+ parse_attribute_as(:payment_method, data.delete(:paymentMethod), Epages::PaymentMethodInfo)
13
+ parse_attribute_as(:price, data.delete(:price), Epages::Price)
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ require 'epages/utils'
2
+
3
+ module Epages
4
+ class PaymentMethodInfo
5
+ include Epages::Utils
6
+
7
+ KEYS = %w(id name).collect(&:to_sym).freeze
8
+
9
+ attr_reader *KEYS
10
+
11
+ def initialize(data)
12
+ parse_attributes(data)
13
+ end
14
+ end
15
+ end
@@ -8,7 +8,7 @@ module Epages
8
8
 
9
9
  KEYS = %w(product_id name short_description description images price_info for_sale special_offer delivery_weight
10
10
  shipping_methods_restricted_to availability_text availability energy_labels_string energy_label_source_file
11
- product_data_sheet sf_url product_number manufacturer upc ean links).collect(&:to_sym).freeze
11
+ product_data_sheet sf_url product_number manufacturer upc ean links product_image).collect(&:to_sym).freeze
12
12
 
13
13
  attr_reader *KEYS
14
14
 
@@ -51,6 +51,32 @@ module Epages
51
51
  product_slideshow(self) if link?('slideshow')
52
52
  end
53
53
 
54
+ # add an image to the slideshow
55
+ #
56
+ # @param image [String]
57
+ def add_slideshow_image(image)
58
+ product_add_slideshow_image(self, image)
59
+ end
60
+
61
+ # remove the image passed from the slideshow and return the new slideshow
62
+ #
63
+ # @param image [String]
64
+ def delete_slideshow_image(image)
65
+ product_delete_slideshow_image(self, image)
66
+ end
67
+
68
+ # returns an array containing the slideshow sequence
69
+ def slideshow_sequence
70
+ product_slideshow_sequence(self)
71
+ end
72
+
73
+ # updates the order of the sequence with the data passed as parameter
74
+ #
75
+ # @param data [Array]
76
+ def update_slideshow_sequence(data)
77
+ product_update_slideshow_sequence(self, data)
78
+ end
79
+
54
80
  # returns the list of variations of the product
55
81
  def variations
56
82
  product_variations(self) if link?('variations')
@@ -88,5 +114,7 @@ module Epages
88
114
  def to_line_item(quantity = 1)
89
115
  {productId: product_id, quantity: quantity}
90
116
  end
117
+
118
+ alias_method :id, :product_id
91
119
  end
92
120
  end
@@ -4,6 +4,7 @@ require 'epages/rest/legal'
4
4
  require 'epages/rest/miscellaneous'
5
5
  require 'epages/rest/orders'
6
6
  require 'epages/rest/products'
7
+ require 'epages/rest/sales'
7
8
  require 'epages/rest/shipping_methods'
8
9
 
9
10
  module Epages
@@ -15,6 +16,7 @@ module Epages
15
16
  include REST::Miscellaneous
16
17
  include REST::Orders
17
18
  include REST::Products
19
+ include REST::Sales
18
20
  include REST::ShippingMethods
19
21
  end
20
22
  end
@@ -24,6 +24,16 @@ module Epages
24
24
  perform_get_with_object("/products/#{id}", options, Epages::Product)
25
25
  end
26
26
 
27
+ # call the API and return a Epages::Product
28
+ # implements the call https://developer.epages.com/apps/api-reference/patch-shops-shopid-products-productid.html
29
+ #
30
+ # @param product [String], [Epages::Product]
31
+ # @param options [Hash]
32
+ def update_product(product, options = {})
33
+ id = epages_id(product)
34
+ perform_patch_with_object("/products/#{id}", options, Epages::Product)
35
+ end
36
+
27
37
  # call the API and return a Hash with the respective variation_attributes and the variation products
28
38
  # implements the call https://developer.epages.com/apps/api-reference/get-shops-shopid-products-productid-variations.html
29
39
  #
@@ -44,6 +54,45 @@ module Epages
44
54
  perform_get_with_key_and_objects("/products/#{id}/slideshow", {}, :items, Epages::ImageSize)
45
55
  end
46
56
 
57
+ # call the API to post a new image to the slideshow of a product and return an array of Epages::ImageSize (slides) of the product
58
+ # implements the call https://developer.epages.com/apps/api-reference/post-shops-shopid-products-productid-slideshow.html
59
+ #
60
+ # @param product [String], [Epages::Product]
61
+ # @param image [String]
62
+ def product_add_slideshow_image(product, image)
63
+ id = epages_id(product)
64
+ perform_multipart_post_with_objects("/products/#{id}/slideshow", image, Epages::ImageSize)
65
+ end
66
+
67
+ # call the API to delete an image from the slideshow of a product
68
+ # implements the call https://developer.epages.com/apps/api-reference/delete-shops-shopid-products-productid-slideshow-imagename.html
69
+ #
70
+ # @param product [String], [Epages::Product]
71
+ # @param image [String]
72
+ def product_delete_slideshow_image(product, image)
73
+ id = epages_id(product)
74
+ perform_delete_request("/products/#{id}/slideshow/#{image}")
75
+ end
76
+
77
+ # call the API to get the slideshow sequence of a product
78
+ # implements the call https://developer.epages.com/apps/api-reference/get-shops-shopid-products-productid-slideshow-sequence.html
79
+ #
80
+ # @param product [String], [Epages::Product]
81
+ def product_slideshow_sequence(product)
82
+ id = epages_id(product)
83
+ perform_get_request("/products/#{id}/slideshow/sequence", {})
84
+ end
85
+
86
+ # call the API to update the slideshow sequence of a product
87
+ # implements the call https://developer.epages.com/apps/api-reference/put-shops-shopid-products-productid-slideshow-sequence.html
88
+ #
89
+ # @param product [String], [Epages::Product]
90
+ # @param data [Array]
91
+ def product_update_slideshow_sequence(product, data)
92
+ id = epages_id(product)
93
+ perform_put_request("/products/#{id}/slideshow/sequence", data)
94
+ end
95
+
47
96
  # call the API and return an array of Epages::CustomAttribute of the product
48
97
  # implements the call https://developer.epages.com/apps/api-reference/get-shops-shopid-products-productid-custom-attributes.html
49
98
  #
@@ -12,13 +12,13 @@ module Epages
12
12
  @shop = build_shop_from(object)
13
13
  @uri = URI.parse("https://#{@shop.host}/rs/shops/#{@shop.name.to_s + path}")
14
14
  @path = uri.path
15
- set_options(request_method, options)
15
+ set_request_options(request_method, options)
16
16
  end
17
17
 
18
- def set_options(method, options)
19
- @options = camelize_keys(options)
18
+ def set_request_options(method, options)
20
19
  @request_method = method
21
20
  @headers = request_headers
21
+ @options = format_options(options)
22
22
  end
23
23
 
24
24
  def auth_token
@@ -27,24 +27,54 @@ module Epages
27
27
 
28
28
  # @return [Array, Hash]
29
29
  def perform
30
- options_key = @request_method == :get ? :params : :json
31
- response = HTTP.with(@headers).public_send(@request_method, @uri.to_s, options_key => @options)
30
+ response = HTTP.with(@headers).public_send(@request_method, @uri.to_s, options_passed_by => @options)
32
31
  fail_or_return_response_body(response)
33
32
  end
34
33
 
35
34
  def request_headers
36
35
  headers = {}
37
- headers['Content-Type'] = 'application/json'
36
+ headers['Content-Type'] = content_type_options unless @request_method == :multipart_post
38
37
  headers['Accept'] = '*/*'
39
38
  headers['Authorization'] = auth_token if @shop.token?
40
39
  headers
41
40
  end
42
41
 
42
+ def options_passed_by
43
+ return :form if @request_method == :post && @options.key?(:image)
44
+ case @request_method
45
+ when :get then :params
46
+ when :patch then :body
47
+ else :json
48
+ end
49
+ end
50
+
51
+ def content_type_options
52
+ @request_method == :patch ? 'application/json-patch+json' : 'application/json'
53
+ end
54
+
55
+ def format_options(options)
56
+ case @request_method
57
+ when :multipart_post then options_to_multipart_request(options)
58
+ when :patch then options_to_patch_request(options).to_json
59
+ else options.is_a?(Hash) ? camelize_keys(options) : options
60
+ end
61
+ end
62
+
63
+ def mime_type(basename)
64
+ case basename
65
+ when /.gif/ then 'image/gif'
66
+ when /.jpe?g/ then 'image/jpeg'
67
+ when /.png/ then 'image/png'
68
+ else 'application/octet-stream'
69
+ end
70
+ end
71
+
43
72
  def fail_or_return_response_body(response)
73
+ return if response.code == 204
44
74
  if response.code.between?(200, 206)
45
75
  symbolize_keys!(response.parse)
46
76
  else
47
- fail Epages::Error::ERRORS[response.code], JSON.parse(response.body.to_s)['message']
77
+ fail Epages::Error::ERRORS[response.code], response.body.to_s
48
78
  end
49
79
  end
50
80
  end
@@ -0,0 +1,19 @@
1
+ require 'epages/rest/utils'
2
+
3
+ module Epages
4
+ module REST
5
+ # implements the calls in https://developer.epages.com/apps/api-reference/resource-sales.html
6
+ module Sales
7
+ include REST::Utils
8
+
9
+ # call the API and return an array of Epages::Sale
10
+ # implements the call https://developer.epages.com/apps/api-reference/get-shops-shopid-sales.html
11
+ #
12
+ # @param options [Hash]
13
+ def sales(options = {})
14
+ options[:product_id] = epages_id(options[:product_id]) if options[:product_id]
15
+ perform_get_with_key_and_objects('/sales', format_dates_options(options), :salesPerCurrency, Epages::Sale)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -7,6 +7,21 @@ module Epages
7
7
  module REST
8
8
  class Shop < Epages::Shop
9
9
  include Epages::REST::API
10
+
11
+ def parallel_calls(requests)
12
+ threads = []
13
+ result = requests
14
+ requests.each do |key, values|
15
+ values.each_with_index do |call, i|
16
+ threads << (values.is_a?(Array) ? process_thread(key, call, i) : process_thread(key, values))
17
+ end
18
+ end
19
+ threads.each do |t|
20
+ t.join
21
+ t[:index].nil? ? result[t[:name]] = t[:result] : result[t[:name]][t[:index]] = t[:result]
22
+ end
23
+ result
24
+ end
10
25
  end
11
26
  end
12
27
  end
@@ -29,6 +29,13 @@ module Epages
29
29
  perform_request_with_object(:put, path, options, klass)
30
30
  end
31
31
 
32
+ # @param path [String]
33
+ # @param options [Hash]
34
+ # @param klass [Class]
35
+ def perform_patch_with_object(path, options, klass)
36
+ perform_request_with_object(:patch, path, options, klass)
37
+ end
38
+
32
39
  # @param path [String]
33
40
  # @param options [Hash]
34
41
  # @param klass [Class]
@@ -59,6 +66,14 @@ module Epages
59
66
  perform_request_with_objects(:post, path, options, klass)
60
67
  end
61
68
 
69
+ # @param path [String]
70
+ # @param options [Hash]
71
+ # @param klass [Class]
72
+ def perform_multipart_post_with_objects(path, image, klass)
73
+ response = perform_request(:multipart_post, path, file: image)
74
+ response.key?('items') ? response[:items].collect { |data| klass.new(data) } : klass.new(response)
75
+ end
76
+
62
77
  # @param request_method [Symbol]
63
78
  # @param path [String]
64
79
  # @param options [Hash]
@@ -85,7 +100,6 @@ module Epages
85
100
  perform_request_with_key_and_objects(:post, path, options, key, klass)
86
101
  end
87
102
 
88
- # TODO: refactor code bellow
89
103
  # @param path [String]
90
104
  # @param options [Hash]
91
105
  # @param key [Symbol]
@@ -98,16 +112,22 @@ module Epages
98
112
 
99
113
  # @param path [String]
100
114
  # @param options [Hash]
101
- def perform_get_request(path, options)
115
+ def perform_get_request(path, options = {})
102
116
  perform_request(:get, path, options)
103
117
  end
104
118
 
105
119
  # @param path [String]
106
120
  # @param options [Hash]
107
- def perform_put_request(path, options)
121
+ def perform_put_request(path, options = {})
108
122
  perform_request(:put, path, options)
109
123
  end
110
124
 
125
+ # @param path [String]
126
+ # @param options [Hash]
127
+ def perform_delete_request(path, options = {})
128
+ perform_request(:delete, path, options)
129
+ end
130
+
111
131
  def epages_id(object)
112
132
  return object if object.class == String
113
133
  return if object.class.name.deconstantize != 'Epages'
@@ -156,11 +176,27 @@ module Epages
156
176
  end
157
177
 
158
178
  def parse_suggestions_to_products(data)
159
- data[:products].collect do |p|
160
- id = p[:link][:href].split('/').last
161
- product(id)
179
+ ids = data[:products].collect { |p| p[:link][:href].split('/').last }
180
+ parallel_calls(product: ids)[:product]
181
+ end
182
+
183
+ def process_thread(key, value, index = nil)
184
+ Thread.new do
185
+ Thread.current[:name] = key
186
+ Thread.current[:index] = index if index
187
+ Thread.current[:result] = send(key, value)
162
188
  end
163
189
  end
190
+
191
+ def format_date(date)
192
+ (date.is_a?(Date) ? date : DateTime.parse(date)).strftime
193
+ end
194
+
195
+ def format_dates_options(options)
196
+ options[:created_before] = format_date(options[:created_before]) if options[:created_before]
197
+ options[:created_after] = format_date(options[:created_after]) if options[:created_after]
198
+ options
199
+ end
164
200
  end
165
201
  end
166
202
  end
@@ -0,0 +1,16 @@
1
+ require 'epages/utils'
2
+ require 'epages/rest/sales'
3
+
4
+ module Epages
5
+ class Sale
6
+ include Epages::Utils
7
+
8
+ KEYS = %w(currency total_gross_revenue total_net_revenue inits_sold total_orders).collect(&:to_sym).freeze
9
+
10
+ attr_reader *KEYS
11
+
12
+ def initialize(data)
13
+ parse_attributes(data)
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ require 'epages/utils'
2
+
3
+ module Epages
4
+ class ShippingData
5
+ include Epages::Utils
6
+
7
+ KEYS = %w(shipping_method price).collect(&:to_sym).freeze
8
+
9
+ attr_reader *KEYS
10
+
11
+ def initialize(data)
12
+ parse_attribute_as(:shipping_method, data.delete(:shippingMethod), Epages::ShippingMethodInfo)
13
+ parse_attribute_as(:price, data.delete(:price), Epages::Price)
14
+ end
15
+ end
16
+ end
@@ -11,5 +11,7 @@ module Epages
11
11
  def initialize(data)
12
12
  parse_attributes(data)
13
13
  end
14
+
15
+ alias_method :id, :shipping_method_id
14
16
  end
15
17
  end
@@ -0,0 +1,15 @@
1
+ require 'epages/utils'
2
+
3
+ module Epages
4
+ class ShippingMethodInfo
5
+ include Epages::Utils
6
+
7
+ KEYS = %w(id name).collect(&:to_sym).freeze
8
+
9
+ attr_reader *KEYS
10
+
11
+ def initialize(data)
12
+ parse_attributes(data)
13
+ end
14
+ end
15
+ end
data/lib/epages/utils.rb CHANGED
@@ -13,9 +13,14 @@ module Epages
13
13
  # @param name [Symbol] [String]
14
14
  # @param data [Hash]
15
15
  # @param klass [Class]
16
- def parse_attribute_as(name, data, klass = nil)
16
+ def parse_attribute_as(name, data, klass = NilClass)
17
17
  return if data.nil?
18
- value = klass.nil? ? data : klass.new(data)
18
+ value =
19
+ case klass.name
20
+ when 'NilClass' then data
21
+ when 'DateTime' then klass.parse(data)
22
+ else klass.new(data)
23
+ end
19
24
  instance_variable_set("@#{name.to_s.underscore}", value)
20
25
  end
21
26
 
@@ -44,8 +49,9 @@ module Epages
44
49
 
45
50
  # return the hash with the keys converted to lower camelcase
46
51
  #
47
- # @param data [Hash]
52
+ # @param hash [Hash]
48
53
  def camelize_keys(hash)
54
+ return unless hash.is_a?(Hash)
49
55
  hash.keys.each do |k|
50
56
  key = k.to_s.camelize(:lower).to_sym
51
57
  hash[key] = hash[k]
@@ -56,8 +62,9 @@ module Epages
56
62
 
57
63
  # return the hash with the keys converted to underscore
58
64
  #
59
- # @param data [Hash]
65
+ # @param hash [Hash]
60
66
  def underscorize_keys(hash)
67
+ return unless hash.is_a?(Hash)
61
68
  hash.keys.each do |k|
62
69
  key = k.to_s.underscore.to_sym
63
70
  hash[key] = hash[k]
@@ -73,6 +80,8 @@ module Epages
73
80
  end
74
81
 
75
82
  # returns the object replacing all the keys as symbols
83
+ #
84
+ # @param object [Hash], [Array]
76
85
  def symbolize_keys!(object)
77
86
  if object.is_a?(Array)
78
87
  object.each_with_index { |val, index| object[index] = symbolize_keys!(val) }
@@ -81,5 +90,31 @@ module Epages
81
90
  end
82
91
  object
83
92
  end
93
+
94
+ # returns the json body for the patch calls
95
+ #
96
+ # @param options [Hash]
97
+ def options_to_patch_request(options)
98
+ json = []
99
+ Array[options.delete(:remove)].flatten.compact.each { |i| json << {'op' => 'remove', 'path' => "/#{camelize_words(i)}"} }
100
+ options.each { |k, v| json << {'op' => 'add', 'path' => "/#{camelize_words(k)}", 'value' => v} }
101
+ json.collect { |i| Hash[i.each_pair.to_a] }
102
+ end
103
+
104
+ # returns the json body for the patch calls
105
+ #
106
+ # @param options [Hash]
107
+ def options_to_multipart_request(options)
108
+ file = options[:file]
109
+ @request_method = :post
110
+ {image: HTTP::FormData::File.new(file, filename: File.basename(file), mime_type: mime_type(File.basename(file)))}
111
+ end
112
+
113
+ # return the string passed as a parameter with all the words camelized
114
+ #
115
+ # @param string [Strimg], [Symbol]
116
+ def camelize_words(string)
117
+ string.to_s.gsub(/(\w+)/) { |s| s.camelize(:lower) }
118
+ end
84
119
  end
85
120
  end
@@ -26,5 +26,6 @@ module Epages
26
26
  end
27
27
 
28
28
  alias_method :attributes, :properties
29
+ alias_method :id, :product_id
29
30
  end
30
31
  end
@@ -1,3 +1,3 @@
1
1
  module Epages
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
data/lib/epages-rest.rb CHANGED
@@ -10,11 +10,16 @@ require 'epages/image_size'
10
10
  require 'epages/line_item_container'
11
11
  require 'epages/link'
12
12
  require 'epages/order'
13
+ require 'epages/payment_data'
14
+ require 'epages/payment_method_info'
13
15
  require 'epages/price'
14
16
  require 'epages/price_info'
15
17
  require 'epages/product'
16
18
  require 'epages/product_line_item'
19
+ require 'epages/sale'
20
+ require 'epages/shipping_data'
17
21
  require 'epages/shipping_method'
22
+ require 'epages/shipping_method_info'
18
23
  require 'epages/shop'
19
24
  require 'epages/utils'
20
25
  require 'epages/variation'
@@ -28,6 +33,7 @@ require 'epages/rest/legal'
28
33
  require 'epages/rest/orders'
29
34
  require 'epages/rest/products'
30
35
  require 'epages/rest/request'
36
+ require 'epages/rest/sales'
31
37
  require 'epages/rest/shipping_methods'
32
38
  require 'epages/rest/shop'
33
39
  require 'epages/rest/utils'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epages-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Domingo Cividanes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-15 00:00:00.000000000 Z
11
+ date: 2016-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -77,6 +77,8 @@ files:
77
77
  - lib/epages/line_item_container.rb
78
78
  - lib/epages/link.rb
79
79
  - lib/epages/order.rb
80
+ - lib/epages/payment_data.rb
81
+ - lib/epages/payment_method_info.rb
80
82
  - lib/epages/price.rb
81
83
  - lib/epages/price_info.rb
82
84
  - lib/epages/product.rb
@@ -89,10 +91,14 @@ files:
89
91
  - lib/epages/rest/orders.rb
90
92
  - lib/epages/rest/products.rb
91
93
  - lib/epages/rest/request.rb
94
+ - lib/epages/rest/sales.rb
92
95
  - lib/epages/rest/shipping_methods.rb
93
96
  - lib/epages/rest/shop.rb
94
97
  - lib/epages/rest/utils.rb
98
+ - lib/epages/sale.rb
99
+ - lib/epages/shipping_data.rb
95
100
  - lib/epages/shipping_method.rb
101
+ - lib/epages/shipping_method_info.rb
96
102
  - lib/epages/shop.rb
97
103
  - lib/epages/utils.rb
98
104
  - lib/epages/variation.rb