magento 0.3.0 → 0.4.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: 78965c7e294c387a88b86cf0af3a099f54729ca292050d1b0cc71046f6e5de6c
4
- data.tar.gz: 7e714fbb399e0ed27946984437d2a4603481f33e98ffa551e5f83b0987518e9c
3
+ metadata.gz: 10797b41b2292eb765414cf4757cca8e92d6eeaa604ae3c59da76763e11dce9e
4
+ data.tar.gz: 683f76e2c1b7215e279459bd5eca921caba0e58fe18d299a29c256a0a5e11b94
5
5
  SHA512:
6
- metadata.gz: 36cc52f478ee96696a451b1bf943db80128ca3f333391c628e026305d67d9f242fe699efc7dbbf624707945fdde47cf2f7f87391e24543e8cb4eefe3984d3bd1
7
- data.tar.gz: 1f0ab0fd15b026b47ed6de9252e249bb084cd92fd60021beafc90e1341ea7439e2a9d75ad5046fce1cd89a6947626ae2f475fe4fa3c8dca5a88c457ba4502d00
6
+ metadata.gz: c8c44416f426c6c57bd402cd2d794027ce811bdd1d2e001502d19ffc785e3cb16b26d01fa983c1a3e1582a2d2a6b18f33a3a6f472230069abb33d75263676060
7
+ data.tar.gz: 5175d8d609601f3b207e29f92cfa38fff076c7ec51a225c274cbdfbd5d6a81edc99e3f8069ebeed100b838899add3c875c70054afa2de70601d69148270ad521
@@ -0,0 +1,42 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ build:
11
+ name: Build + Publish
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Set up Ruby 2.6
17
+ uses: actions/setup-ruby@v1
18
+ with:
19
+ ruby-version: 2.6.x
20
+
21
+ - name: Publish to GPR
22
+ run: |
23
+ mkdir -p $HOME/.gem
24
+ touch $HOME/.gem/credentials
25
+ chmod 0600 $HOME/.gem/credentials
26
+ printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
27
+ gem build magento-ruby.gemspec
28
+ gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
29
+ env:
30
+ GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
31
+ OWNER: ${{ github.repository_owner }}
32
+
33
+ - name: Publish to RubyGems
34
+ run: |
35
+ mkdir -p $HOME/.gem
36
+ touch $HOME/.gem/credentials
37
+ chmod 0600 $HOME/.gem/credentials
38
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
39
+ gem build magento.gemspec
40
+ gem push magento-[0-9]*.gem
41
+ env:
42
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
data/README.md CHANGED
@@ -1,176 +1,221 @@
1
- # Magento Ruby library
2
-
3
- ## Install
4
-
5
- Add in your Gemfile
6
-
7
- ```rb
8
- gem 'magento', '~> 0.3.0'
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
- Magento::Product.where(price_gt: 100, price_lt: 200).all
70
- ```
71
-
72
- | Condition | Notes |
73
- | ----------| ------|
74
- |eq | Equals. |
75
- |finset | A value within a set of values |
76
- |from | The beginning of a range. Must be used with to |
77
- |gt | Greater than |
78
- |gteq | Greater than or equal |
79
- |in | In. The value can contain a comma-separated list of values. |
80
- |like | Like. The value can contain the SQL wildcard characters when like is |specified.
81
- |lt | Less than |
82
- |lteq | Less than or equal |
83
- |moreq | More or equal |
84
- |neq | Not equal |
85
- |nfinset | A value that is not within a set of values |
86
- |nin | Not in. The value can contain a comma-separated list of values. |
87
- |notnull | Not null |
88
- |null | Null |
89
- |to | The end of a range. Must be used with from |
90
-
91
-
92
- #### SortOrder:
93
-
94
- ```rb
95
- Magento::Product.order(:sku).all
96
- Magento::Product.order(sku: :desc).all
97
- Magento::Product.order(status: :desc, name: :asc).all
98
- ```
99
-
100
- #### Pagination:
101
-
102
- ```rb
103
- # Set page and quantity per page
104
- Magento::Product.page(1).per(25) # Default per is 50
105
- ```
106
-
107
- #### Example of several options together:
108
- ```rb
109
- Magento::Product.select(:sku, :name, :price)
110
- .where(name_like: 'Tshort%')
111
- .order(price: :desc)
112
- .per(10)
113
- .all
114
- ```
115
-
116
- \* _same pattern to all models_
117
- ___
118
- ## \######### TODO \##########
119
-
120
- ## Create
121
-
122
- ```rb
123
- Magento::Order.create(
124
- customer_firstname: '',
125
- customer_lastname: '',
126
- customer_email: '',
127
- # others attrbutes ...,
128
- items: [
129
- {
130
- sku: '',
131
- price: '',
132
- qty_ordered: 1,
133
- # others attrbutes ...,
134
- }
135
- ],
136
- billing_address: {
137
- # attrbutes...
138
- },
139
- payment: {
140
- # attrbutes...
141
- },
142
- extension_attributes: {
143
- # attrbutes...
144
- }
145
- )
146
- ```
147
-
148
- ### Update
149
-
150
- ```rb
151
- product = Magento::Product.find('sku-teste')
152
-
153
- product.name = 'Updated name'
154
- product.save
155
-
156
- # or
157
-
158
- product.update(name: 'Updated name')
159
- ```
160
-
161
- ### Delete
162
-
163
- ```rb
164
- product = Magento::Product.find('sku-teste')
165
-
166
- product.delete
167
-
168
- # or
169
-
170
- Magento::Product.delete('sku-teste')
171
- ```
172
-
173
- ### Search products
174
- ```rb
175
- Magento::Product.search('tshort')
176
- ```
1
+ # Magento Ruby library
2
+
3
+ ## Install
4
+
5
+ Add in your Gemfile
6
+
7
+ ```rb
8
+ gem 'magento', '~> 0.4.0'
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
+
161
+ ## Create
162
+
163
+ ```rb
164
+ Magento::Order.create(
165
+ customer_firstname: '',
166
+ customer_lastname: '',
167
+ customer_email: '',
168
+ # others attrbutes ...,
169
+ items: [
170
+ {
171
+ sku: '',
172
+ price: '',
173
+ qty_ordered: 1,
174
+ # others attrbutes ...,
175
+ }
176
+ ],
177
+ billing_address: {
178
+ # attrbutes...
179
+ },
180
+ payment: {
181
+ # attrbutes...
182
+ },
183
+ extension_attributes: {
184
+ # attrbutes...
185
+ }
186
+ )
187
+ ```
188
+
189
+ ### Update
190
+
191
+ ```rb
192
+ product = Magento::Product.find('sku-teste')
193
+
194
+ product.name = 'Updated name'
195
+ product.save
196
+
197
+ # or
198
+
199
+ product.update(name: 'Updated name')
200
+ ```
201
+
202
+ ### Delete
203
+
204
+ ```rb
205
+ product = Magento::Product.find('sku-teste')
206
+
207
+ product.delete
208
+
209
+ # or
210
+
211
+ Magento::Product.delete('sku-teste')
212
+ ```
213
+
214
+ ___
215
+
216
+ ##TODO:
217
+
218
+ ### Search products
219
+ ```rb
220
+ Magento::Product.search('tshort')
221
+ ```