magento 0.4.1 → 0.5.1

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: ca2b525890d23f017395642b3be2f67da40a5bdcddba2f95001f2b467fdf832c
4
- data.tar.gz: 529d1fa8ee55419914824373462cc7408d3d63f525de916eef3c35f5970bdd36
3
+ metadata.gz: 4034005945e350699f74bfd858941a2e0295e2f8e3b6fd1d19c605d68da703fe
4
+ data.tar.gz: 8d6dbbe72502d09f6ea1f437bb52151c767e28ff1ec3e2ab697594b8e59e836e
5
5
  SHA512:
6
- metadata.gz: d76e0f91f76401fc6494819747e137cff7fe38ec527b071ec1c98ccbc5a70b4c7f074019965b4d7075a26649e1515684a08534ef81e932d3e87b1c8c8677b822
7
- data.tar.gz: 7cf8c1c7aa3f80d963bf7d26ee2188c20caee28ce79a5b48c376aa90a0c10586764cbe572bfa883acdc688f77bc27b5f50e00752d631fed26e19ddbb1678eed0
6
+ metadata.gz: 84b758c7a69c84f75dc877475d24a61518e609339b3bac0d93a3561241d5a7bb6214d2e909923100ed44626bd1eeead86370af7dc03a6c43c5d5c8bcb688d011
7
+ data.tar.gz: ea6359f11056d8defd7fe4b9d8b1a27c0d45e441a56e9f72ca0cd042b52d87d4c6832c3d14b5c6c1bc7ee9401b623ae859dd22dd503f1b209fccdc5f977c0745
data/README.md CHANGED
@@ -1,267 +1,286 @@
1
- # Magento Ruby library
2
-
3
- ## Install
4
-
5
- Add in your Gemfile
6
-
7
- ```rb
8
- gem 'magento', '~> 0.4.1'
9
- ```
10
-
11
- or run
12
-
13
- ```sh
14
- gem install magento
15
- ```
16
-
17
- ### Setup
18
-
19
- ```rb
20
- Magento.url = 'https://yourstore.com'
21
- Magento.token = 'MAGENTO_API_KEY'
22
- Magento.store = :default # optional, Default is :all
23
- ```
24
-
25
- ## Models
26
- ```rb
27
- Magento::Product
28
- Magento::Order
29
- Magento::Country
30
- Magento::Category
31
- ```
32
-
33
- ## Get details
34
-
35
- ```rb
36
- Magento::Product.find('sku-test')
37
- Magento::Order.find(25)
38
- Magento::Country.find('BR')
39
- ```
40
- \* _same pattern to all models_
41
-
42
- **Outside pattern**
43
-
44
- Get customer by token
45
-
46
- ```rb
47
- Magento::Customer.find_by_token('user_token')
48
- ```
49
-
50
- ## Get List
51
-
52
- ```rb
53
- Magento::Product.all
54
- ```
55
-
56
- #### Select fields:
57
- ```rb
58
- Magento::Product.select(:id, :sku, :name).all
59
- Magento::Product.select(:id, :sku, :name, extension_attributes: :category_links).all
60
- Magento::Product.select(:id, :sku, :name, extension_attributes: [:category_links, :website_ids]).all
61
- Magento::Product.select(:id, :sku, :name, extension_attributes: [:website_ids, { category_links: :category_id }]).all
62
- ```
63
-
64
- #### Filters:
65
-
66
- ```rb
67
- Magento::Product.where(name_like: 'IPhone%').all
68
- Magento::Product.where(price_gt: 100).all
69
-
70
- # price > 10 AND price < 20
71
- Magento::Product.where(price_gt: 10)
72
- .where(price_lt: 20).all
73
-
74
- # price < 1 OR price > 100
75
- Magento::Product.where(price_lt: 1, price_gt: 100).all
76
-
77
- Magento::Order.where(status_in: [:canceled, :complete]).all
78
- ```
79
-
80
- | Condition | Notes |
81
- | --------- | ----- |
82
- |eq | Equals. |
83
- |finset | A value within a set of values |
84
- |from | The beginning of a range. Must be used with to |
85
- |gt | Greater than |
86
- |gteq | Greater than or equal |
87
- |in | In. The value is an array |
88
- |like | Like. The value can contain the SQL wildcard characters when like is specified. |
89
- |lt | Less than |
90
- |lteq | Less than or equal |
91
- |moreq | More or equal |
92
- |neq | Not equal |
93
- |nfinset | A value that is not within a set of values |
94
- |nin | Not in. The value is an array |
95
- |notnull | Not null |
96
- |null | Null |
97
- |to | The end of a range. Must be used with from |
98
-
99
-
100
- #### SortOrder:
101
-
102
- ```rb
103
- Magento::Product.order(:sku).all
104
- Magento::Product.order(sku: :desc).all
105
- Magento::Product.order(status: :desc, name: :asc).all
106
- ```
107
-
108
- #### Pagination:
109
-
110
- ```rb
111
- # Set page and quantity per page
112
- Magento::Product.page(1) # Current page, Default is 1
113
- .page_size(25) # Default is 50
114
- .all
115
-
116
- # per is an alias to page_size
117
- Magento::Product.per(25).all
118
- ```
119
-
120
- #### Example of several options together:
121
- ```rb
122
- products = Magento::Product.select(:sku, :name)
123
- .where(name_like: 'biscoito%')
124
- .page(1)
125
- .page_size(5)
126
- .all
127
- ```
128
-
129
- \* _same pattern to all models_
130
-
131
- ### Response
132
-
133
- The `all` method retorns a `Magento::RecordCollection` instance
134
-
135
- ```rb
136
- products.first
137
- >> <Magento::Product @sku="2100", @name="Biscoito Piraque Salgadinho 100G">
138
-
139
- products[0]
140
- >> <Magento::Product @sku="2100", @name="Biscoito Piraque Salgadinho 100G">
141
-
142
- products.last
143
- >> <Magento::Product @sku="964", @name="Biscoito Negresco 140 G Original">
144
-
145
- products.map(&:sku)
146
- >> ["2100", "792", "836", "913", "964"]
147
-
148
- products.size
149
- >> 5
150
-
151
- products.current_page
152
- >> 1
153
-
154
- products.page_size
155
- >> 5
156
-
157
- products.total_count
158
- >> 307
159
-
160
- products.filter_groups
161
- >> [<Magento::FilterGroup @filters=[<Magento::Filter @field="name", @value="biscoito%", @condition_type="like">]>]
162
- ```
163
-
164
- All Methods:
165
-
166
- ```rb
167
- # Information about search criteria
168
- :current_page
169
- :page_size
170
- :total_count
171
- :filter_groups
172
-
173
- # Iterating with the list of items
174
- :count
175
- :length
176
- :size
177
-
178
- :first
179
- :last
180
- :[]
181
- :find
182
-
183
- :each
184
- :each_index
185
- :sample
186
-
187
- :map
188
- :select
189
- :filter
190
- :reject
191
- :collect
192
- :take
193
- :take_while
194
-
195
- :sort
196
- :sort_by
197
- :reverse_each
198
- :reverse
199
-
200
- :all?
201
- :any?
202
- :none?
203
- :one?
204
- :empty?
205
- ```
206
-
207
- ## Create
208
-
209
- ```rb
210
- Magento::Order.create(
211
- customer_firstname: '',
212
- customer_lastname: '',
213
- customer_email: '',
214
- # others attrbutes ...,
215
- items: [
216
- {
217
- sku: '',
218
- price: '',
219
- qty_ordered: 1,
220
- # others attrbutes ...,
221
- }
222
- ],
223
- billing_address: {
224
- # attrbutes...
225
- },
226
- payment: {
227
- # attrbutes...
228
- },
229
- extension_attributes: {
230
- # attrbutes...
231
- }
232
- )
233
- ```
234
-
235
- ### Update
236
-
237
- ```rb
238
- product = Magento::Product.find('sku-teste')
239
-
240
- product.name = 'Updated name'
241
- product.save
242
-
243
- # or
244
-
245
- product.update(name: 'Updated name')
246
- ```
247
-
248
- ### Delete
249
-
250
- ```rb
251
- product = Magento::Product.find('sku-teste')
252
-
253
- product.delete
254
-
255
- # or
256
-
257
- Magento::Product.delete('sku-teste')
258
- ```
259
-
260
- ___
261
-
262
- ##TODO:
263
-
264
- ### Search products
265
- ```rb
266
- Magento::Product.search('tshort')
267
- ```
1
+ # Magento Ruby library
2
+
3
+ ## Install
4
+
5
+ Add in your Gemfile
6
+
7
+ ```rb
8
+ gem 'magento', '~> 0.5.1'
9
+ ```
10
+
11
+ or run
12
+
13
+ ```sh
14
+ gem install magento
15
+ ```
16
+
17
+ ### Setup
18
+
19
+ ```rb
20
+ Magento.url = 'https://yourstore.com'
21
+ Magento.token = 'MAGENTO_API_KEY'
22
+ Magento.store = :default # optional, Default is :all
23
+ ```
24
+
25
+ ## Models
26
+ ```rb
27
+ Magento::Product
28
+ Magento::Order
29
+ Magento::Country
30
+ Magento::Category
31
+ ```
32
+
33
+ ## Get details
34
+
35
+ ```rb
36
+ Magento::Product.find('sku-test')
37
+ Magento::Order.find(25)
38
+ Magento::Country.find('BR')
39
+ ```
40
+ \* _same pattern to all models_
41
+
42
+ **Outside pattern**
43
+
44
+ Get customer by token
45
+
46
+ ```rb
47
+ Magento::Customer.find_by_token('user_token')
48
+ ```
49
+
50
+ ## Get List
51
+
52
+ ```rb
53
+ Magento::Product.all
54
+ ```
55
+
56
+ #### Select fields:
57
+ ```rb
58
+ Magento::Product.select(:id, :sku, :name).all
59
+ Magento::Product.select(:id, :sku, :name, extension_attributes: :category_links).all
60
+ Magento::Product.select(:id, :sku, :name, extension_attributes: [:category_links, :website_ids]).all
61
+ Magento::Product.select(:id, :sku, :name, extension_attributes: [:website_ids, { category_links: :category_id }]).all
62
+ ```
63
+
64
+ #### Filters:
65
+
66
+ ```rb
67
+ Magento::Product.where(name_like: 'IPhone%').all
68
+ Magento::Product.where(price_gt: 100).all
69
+
70
+ # price > 10 AND price < 20
71
+ Magento::Product.where(price_gt: 10)
72
+ .where(price_lt: 20).all
73
+
74
+ # price < 1 OR price > 100
75
+ Magento::Product.where(price_lt: 1, price_gt: 100).all
76
+
77
+ Magento::Order.where(status_in: [:canceled, :complete]).all
78
+ ```
79
+
80
+ | Condition | Notes |
81
+ | --------- | ----- |
82
+ |eq | Equals. |
83
+ |finset | A value within a set of values |
84
+ |from | The beginning of a range. Must be used with to |
85
+ |gt | Greater than |
86
+ |gteq | Greater than or equal |
87
+ |in | In. The value is an array |
88
+ |like | Like. The value can contain the SQL wildcard characters when like is specified. |
89
+ |lt | Less than |
90
+ |lteq | Less than or equal |
91
+ |moreq | More or equal |
92
+ |neq | Not equal |
93
+ |nfinset | A value that is not within a set of values |
94
+ |nin | Not in. The value is an array |
95
+ |notnull | Not null |
96
+ |null | Null |
97
+ |to | The end of a range. Must be used with from |
98
+
99
+
100
+ #### SortOrder:
101
+
102
+ ```rb
103
+ Magento::Product.order(:sku).all
104
+ Magento::Product.order(sku: :desc).all
105
+ Magento::Product.order(status: :desc, name: :asc).all
106
+ ```
107
+
108
+ #### Pagination:
109
+
110
+ ```rb
111
+ # Set page and quantity per page
112
+ Magento::Product.page(1) # Current page, Default is 1
113
+ .page_size(25) # Default is 50
114
+ .all
115
+
116
+ # per is an alias to page_size
117
+ Magento::Product.per(25).all
118
+ ```
119
+
120
+ #### Example of several options together:
121
+ ```rb
122
+ products = Magento::Product.select(:sku, :name)
123
+ .where(name_like: 'biscoito%')
124
+ .page(1)
125
+ .page_size(5)
126
+ .all
127
+ ```
128
+
129
+ \* _same pattern to all models_
130
+
131
+ ### Response
132
+
133
+ The `all` method retorns a `Magento::RecordCollection` instance
134
+
135
+ ```rb
136
+ products.first
137
+ >> <Magento::Product @sku="2100", @name="Biscoito Piraque Salgadinho 100G">
138
+
139
+ products[0]
140
+ >> <Magento::Product @sku="2100", @name="Biscoito Piraque Salgadinho 100G">
141
+
142
+ products.last
143
+ >> <Magento::Product @sku="964", @name="Biscoito Negresco 140 G Original">
144
+
145
+ products.map(&:sku)
146
+ >> ["2100", "792", "836", "913", "964"]
147
+
148
+ products.size
149
+ >> 5
150
+
151
+ products.current_page
152
+ >> 1
153
+
154
+ products.page_size
155
+ >> 5
156
+
157
+ products.total_count
158
+ >> 307
159
+
160
+ products.filter_groups
161
+ >> [<Magento::FilterGroup @filters=[<Magento::Filter @field="name", @value="biscoito%", @condition_type="like">]>]
162
+ ```
163
+
164
+ All Methods:
165
+
166
+ ```rb
167
+ # Information about search criteria
168
+ :current_page
169
+ :page_size
170
+ :total_count
171
+ :filter_groups
172
+
173
+ # Iterating with the list of items
174
+ :count
175
+ :length
176
+ :size
177
+
178
+ :first
179
+ :last
180
+ :[]
181
+ :find
182
+
183
+ :each
184
+ :each_with_index
185
+ :sample
186
+
187
+ :map
188
+ :select
189
+ :filter
190
+ :reject
191
+ :collect
192
+ :take
193
+ :take_while
194
+
195
+ :sort
196
+ :sort_by
197
+ :reverse_each
198
+ :reverse
199
+
200
+ :all?
201
+ :any?
202
+ :none?
203
+ :one?
204
+ :empty?
205
+ ```
206
+
207
+ ## Create
208
+
209
+ ```rb
210
+ Magento::Order.create(
211
+ customer_firstname: '',
212
+ customer_lastname: '',
213
+ customer_email: '',
214
+ # others attrbutes ...,
215
+ items: [
216
+ {
217
+ sku: '',
218
+ price: '',
219
+ qty_ordered: 1,
220
+ # others attrbutes ...,
221
+ }
222
+ ],
223
+ billing_address: {
224
+ # attrbutes...
225
+ },
226
+ payment: {
227
+ # attrbutes...
228
+ },
229
+ extension_attributes: {
230
+ # attrbutes...
231
+ }
232
+ )
233
+ ```
234
+
235
+ ### Update
236
+
237
+ ```rb
238
+ product = Magento::Product.find('sku-teste')
239
+
240
+ product.name = 'Updated name'
241
+ product.save
242
+
243
+ # or
244
+
245
+ product.update(name: 'Updated name')
246
+ ```
247
+
248
+ ### Delete
249
+
250
+ ```rb
251
+ product = Magento::Product.find('sku-teste')
252
+
253
+ product.delete
254
+
255
+ # or
256
+
257
+ Magento::Product.delete('sku-teste')
258
+ ```
259
+
260
+ ## GuestCart
261
+
262
+ Set payment information to finish the order
263
+ ```rb
264
+ cart = Magento::GuestCart.find('gXsepZcgJbY8RCJXgGioKOO9iBCR20r7')
265
+
266
+ # or use "build" to not request information from the magento API
267
+ cart = Magento::GuestCart.build(
268
+ cart_id: 'aj8oUtY1Qi44Fror6UWVN7ftX1idbBKN'
269
+ )
270
+
271
+ cart.payment_information(
272
+ email: 'customer@gmail.com',
273
+ payment: { method: 'cashondelivery' }
274
+ )
275
+
276
+ >> "234575" # return the order id
277
+ ```
278
+
279
+ ___
280
+
281
+ ##TODO:
282
+
283
+ ### Search products
284
+ ```rb
285
+ Magento::Product.search('tshort')
286
+ ```