magento 0.5.0 → 0.6.0

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
  SHA256:
3
- metadata.gz: 5a31c9d80a9b75142710a4eaca0c87e47ac32c9fc0589ce967cebd450350a4e2
4
- data.tar.gz: 16e930d0a17ccab6e520e75e4a87da495caee97977c6ed61b59b5ed046c82485
3
+ metadata.gz: f899948f7690202bfadf8b2d0afbb066a864fd85f3e7d0c591df07b4f631d7bb
4
+ data.tar.gz: 63585fc1f5b5ba321a065e2796c253b52f544b3b057b941b933c027a04d63d07
5
5
  SHA512:
6
- metadata.gz: ed64d3a633a8d5e4cfd6eac464ff4d3bfc85c5105c5a2f83a4dc8d739710d584fa9ca35a17f49ea49eeadd01e3aadc6d1c6c48e3f46fbe085544b3ada8e518b4
7
- data.tar.gz: 9ad6ce4e8e29c15eea332371f3c73b9d0c342d97b540a764ae7e8f6f03244e087e44fd72e8f1bd5e50cb5fc5b22327f9b2ee55369261ea9efa1208fc13527209
6
+ metadata.gz: 0142acdd5ef93981d5170c39fecd73852458d8ea4a01d8b3c2ee28fd01c82ae26f2f16c533219908d8110648f50a99188b89a0f8537750b187fe62f003ff04c3
7
+ data.tar.gz: 39092a61524a5f09cc61ead86e66917f5833f2b30ca6a7155479c41af471a88394ccdbd233341a03ef6a8fadbd3e3dbd6b222d554b9eee590f0fec1b3b1f7006
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  Add in your Gemfile
6
6
 
7
7
  ```rb
8
- gem 'magento', '~> 0.5.0'
8
+ gem 'magento', '~> 0.6.0'
9
9
  ```
10
10
 
11
11
  or run
@@ -20,6 +20,10 @@ gem install magento
20
20
  Magento.url = 'https://yourstore.com'
21
21
  Magento.token = 'MAGENTO_API_KEY'
22
22
  Magento.store = :default # optional, Default is :all
23
+
24
+ Magento.with_config(store: :other_store) do # accepts store, url and token parameters
25
+ Magento::Product.find('sku')
26
+ end
23
27
  ```
24
28
 
25
29
  ## Models
@@ -151,6 +155,12 @@ products.size
151
155
  products.current_page
152
156
  >> 1
153
157
 
158
+ products.next_page
159
+ >> 2
160
+
161
+ products.last_page?
162
+ >> false
163
+
154
164
  products.page_size
155
165
  >> 5
156
166
 
@@ -166,6 +176,8 @@ All Methods:
166
176
  ```rb
167
177
  # Information about search criteria
168
178
  :current_page
179
+ :next_page
180
+ :last_page?
169
181
  :page_size
170
182
  :total_count
171
183
  :filter_groups
@@ -35,6 +35,22 @@ module Magento
35
35
  self.token = ENV['MAGENTO_TOKEN']
36
36
  self.store = ENV['MAGENTO_STORE'] || :all
37
37
 
38
+ def self.with_config(utl: Magento.url, token: Magento.token, store: Magento.store)
39
+ @old_url = self.url
40
+ @old_token = self.token
41
+ @old_store = self.store
42
+
43
+ self.url = utl
44
+ self.token = token
45
+ self.store = store
46
+
47
+ yield
48
+ ensure
49
+ self.url = @old_url
50
+ self.token = @old_token
51
+ self.store = @old_store
52
+ end
53
+
38
54
  def self.production?
39
55
  ENV['RACK_ENV'] == 'production' ||
40
56
  ENV['RAILS_ENV'] == 'production' ||
@@ -36,7 +36,7 @@ module Magento
36
36
  end
37
37
 
38
38
  def create(attributes)
39
- body = { entity_name => attributes }
39
+ body = { entity_key => attributes }
40
40
  hash = request.post(api_resource, body).parse
41
41
  build(hash)
42
42
  end
@@ -77,7 +77,7 @@ module Magento
77
77
  end
78
78
 
79
79
  def request
80
- @request ||= Request.new
80
+ Request.new
81
81
  end
82
82
  end
83
83
  end
@@ -1,6 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magento
2
4
  class Order < Model
3
5
  self.primary_key = :entity_id
4
6
  self.entity_key = :entity
7
+
8
+ def save
9
+ raise NotImplementedError
10
+ end
11
+
12
+ def update(attrs)
13
+ raise "'entity_id' not found" if @entity_id.nil?
14
+
15
+ attrs[:entity_id] = @entity_id
16
+ self.class.update(attrs)
17
+ end
18
+
19
+ class << self
20
+ def update(attributes)
21
+ hash = request.put('orders/create', { entity_key => attributes }).parse
22
+ build(hash)
23
+ end
24
+ end
5
25
  end
6
- end
26
+ end
@@ -23,6 +23,17 @@ module Magento
23
23
 
24
24
  alias per page_size
25
25
 
26
+ def last_page?
27
+ current_page * page_size >= total_count
28
+ end
29
+
30
+ #
31
+ # Returns the {number} of the next page or {nil}
32
+ # when the current_page is the last page
33
+ def next_page
34
+ current_page + 1 unless last_page?
35
+ end
36
+
26
37
  class << self
27
38
  def from_magento_response(response, model:, iterable_field: 'items')
28
39
  Magento::RecordCollection.new(
@@ -1,3 +1,3 @@
1
1
  module Magento
2
- VERSION = '0.5.0'
2
+ VERSION = '0.6.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magento
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wallas Faria