plenty_client 0.0.1 → 0.0.2

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
  SHA1:
3
- metadata.gz: df01cb8f8df7f62a1a367ae679ef7326c7d861d6
4
- data.tar.gz: 1fb7060354dec458e6ebb1a70e9e7d3345fee8ce
3
+ metadata.gz: 7180904868c8a02d469c837d0ebc23bd45771173
4
+ data.tar.gz: 210526fc22be311c647f257190508ed53c6b720f
5
5
  SHA512:
6
- metadata.gz: 52ff8c31d2ba058e438c06aad948c56516abd8a50fb153b78ad34749636ebe8aa56684c321364b83e2ac1503be84a2c41334a449a95c1e267c86ba5d93fb0316
7
- data.tar.gz: 261c38a16937ad2e2a7f3100c132a155d1d7ed7509386f4921ac12dee9769dbb15cc54ad02dd0d2ddc88a836f49a19c8d6f8cd495b0a810f64acbc10d3e1819a
6
+ metadata.gz: 4fa101d7f1462504fc8a7a643633f640fa9898f903e75fd86e7c5efa01d21f873e4f653002ed27b71c79853f3c47b24f88e6ad40ac5bbec00fd63ec4babe48e1
7
+ data.tar.gz: 4e7b8cd5d34d56c2148f38c0c11dd316d9b2456c51ea6daa071f01b7d398def13d406abcdd78fa5894b474aabc9e261577425fc6064ae4cda526c487e320b354
data/.codeclimate.yml ADDED
@@ -0,0 +1,11 @@
1
+ engines:
2
+ rubocop:
3
+ enabled: true
4
+ config:
5
+ file: .rubocop.yml
6
+ duplication:
7
+ enabled: false
8
+ config:
9
+ languages:
10
+ - ruby:
11
+ - javascript:
data/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  [![Issue Count](https://codeclimate.com/github/Dariusch/plenty_client/badges/issue_count.svg)](https://codeclimate.com/github/Dariusch/plenty_client)
4
4
  [![Test Coverage](https://codeclimate.com/github/Dariusch/plenty_client/badges/coverage.svg)](https://codeclimate.com/github/Dariusch/plenty_client/coverage)
5
5
  [![Build Status](https://travis-ci.org/Dariusch/plenty_client.svg?branch=master)](https://travis-ci.org/Dariusch/plenty_client)
6
+ [![Gem Version](https://badge.fury.io/rb/plenty_client.svg)](https://badge.fury.io/rb/plenty_client)
6
7
 
7
8
  This Client is a ruby wrapper around the PlentyMarkets REST API.
8
9
  The complete documentation can be found [here](https://developers.plentymarkets.com/rest-doc).
@@ -115,13 +116,13 @@ PlentyClient::Item::Variation.routes
115
116
  - clean up `plenty_client/request.rb`
116
117
  * create classes for
117
118
  * [`Account`](https://developers.plentymarkets.com/rest-doc/account)
118
- * [`Accounting`](https://developers.plentymarkets.com/rest-doc/accounting)
119
- * [`Authentication`](https://developers.plentymarkets.com/rest-doc/authentication)
120
- * [`Authorization`](https://developers.plentymarkets.com/rest-doc/authorization)
121
- * [`Basket`](https://developers.plentymarkets.com/rest-doc/basket)
122
- * [`Category`](https://developers.plentymarkets.com/rest-doc/category)
119
+ * [~~`Accounting`~~](https://developers.plentymarkets.com/rest-doc/accounting)
120
+ * [~~`Authentication`~~](https://developers.plentymarkets.com/rest-doc/authentication)
121
+ * [~~`Authorization`~~](https://developers.plentymarkets.com/rest-doc/authorization)
122
+ * [~~`Basket`~~](https://developers.plentymarkets.com/rest-doc/basket)
123
+ * [~~`Category`~~](https://developers.plentymarkets.com/rest-doc/category)
123
124
  * [`Cloud`](https://developers.plentymarkets.com/rest-doc/cloud)
124
- * [`Comment`](https://developers.plentymarkets.com/rest-doc/comment)
125
+ * [~~`Comment`~~](https://developers.plentymarkets.com/rest-doc/comment)
125
126
  * [`Document`](https://developers.plentymarkets.com/rest-doc/document)
126
127
  * [`Export`](https://developers.plentymarkets.com/rest-doc/export)
127
128
  * [`ExportSettings`](https://developers.plentymarkets.com/rest-doc/export_settings)
@@ -0,0 +1,32 @@
1
+ module PlentyClient
2
+ module Accounting
3
+ extend PlentyClient::Endpoint
4
+ extend PlentyClient::Request
5
+
6
+ LIST_VAT_OF_LOCATION = '/vat/locations/{locationId}'.freeze
7
+ LIST_VAT_OF_COUNTRY = '/vat/locations/{locationId}/countries/{countryId}'.freeze
8
+ LIST_VAT_CONFIGURATIONS = '/vat'.freeze
9
+ LIST_VAT_STANDARD = '/vat/standard'.freeze
10
+
11
+ class << self
12
+ def list(headers = {}, &block)
13
+ get(build_endpoint(LIST_VAT_CONFIGURATIONS), headers, &block)
14
+ end
15
+
16
+ def list_for_country(location_id, country_id, headers = {}, &block)
17
+ get(build_endpoint(LIST_VAT_OF_COUNTRY,
18
+ location: location_id,
19
+ country: country_id), headers, &block)
20
+ end
21
+
22
+ def list_for_location(location_id, headers = {}, &block)
23
+ get(build_endpoint(LIST_VAT_OF_LOCATION,
24
+ location: location_id), headers, &block)
25
+ end
26
+
27
+ def standard(headers = {}, &block)
28
+ get(build_endpoint(LIST_VAT_STANDARD), headers, &block)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,34 @@
1
+ module PlentyClient
2
+ module Authentication
3
+ extend PlentyClient::Endpoint
4
+ extend PlentyClient::Request
5
+
6
+ AUTH_LOGIN = '/login'.freeze
7
+ AUTH_REFRESH = '/login/refresh'.freeze
8
+ AUTH_TOKEN = '/oauth/access_token'.freeze
9
+ AUTH_LOGOUT = '/logout'.freeze
10
+ AUTH_CLIENT = '/client-login'.freeze
11
+
12
+ class << self
13
+ def access_token(headers = {}, &block)
14
+ get(build_endpoint(AUTH_TOKEN), headers, &block)
15
+ end
16
+
17
+ def login(body = {})
18
+ post(build_endpoint(AUTH_LOGIN), body)
19
+ end
20
+
21
+ def login_refresh(body = {})
22
+ post(build_endpoint(AUTH_REFRESH), body)
23
+ end
24
+
25
+ def logout(body = {})
26
+ post(build_endpoint(AUTH_LOGOUT), body)
27
+ end
28
+
29
+ def client_access_token(body = {})
30
+ post(build_endpoint(AUTH_CLIENT), body)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,19 @@
1
+ module PlentyClient
2
+ module Authorization
3
+ extend PlentyClient::Endpoint
4
+ extend PlentyClient::Request
5
+
6
+ AUTH_USER = '/authorized_user'.freeze
7
+ AUTH_USER_WITH_UI_CONFIG = '/user/authorized_user_with_ui_config'.freeze
8
+
9
+ class << self
10
+ def list(headers = {}, &block)
11
+ get(build_endpoint(AUTH_TOKEN), headers, &block)
12
+ end
13
+
14
+ def list_with_ui_config(headers = {}, &block)
15
+ get(build_endpoint(AUTH_USER_WITH_UI_CONFIG), headers, &block)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ module PlentyClient
2
+ module Basket
3
+ class Item
4
+ extend PlentyClient::Endpoint
5
+ extend PlentyClient::Request
6
+
7
+ CREATE_BASKET_ITEM = '/basket/items'.freeze
8
+ LIST_BASKET_ITEMS = '/basket/items'.freeze
9
+
10
+ class << self
11
+ def list(headers = {}, &block)
12
+ get(LIST_BASKET_ITEMS, headers, &block)
13
+ end
14
+
15
+ def create(body = {})
16
+ post(CREATE_BASKET_ITEM, body)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,14 @@
1
+ module PlentyClient
2
+ module Basket
3
+ extend PlentyClient::Endpoint
4
+ extend PlentyClient::Request
5
+
6
+ FIND_BASKET = '/basket'.freeze
7
+
8
+ class << self
9
+ def find(headers = {}, &block)
10
+ get(build_endpoint(FIND_BASKET), headers, &block)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ module PlentyClient
2
+ module Category
3
+ class Branch
4
+ extend PlentyClient::Endpoint
5
+ extend PlentyClient::Request
6
+
7
+ FIND_CATEGORY_BRANCH = '/category_branches/{catId}'.freeze
8
+ LIST_CATEGORY_BRANCH = '/category_branches'.freeze
9
+
10
+ class << self
11
+ def list(headers = {}, &block)
12
+ get(build_endpoint(LIST_CATEGORY_BRANCH), headers, &block)
13
+ end
14
+
15
+ def find(cat_id, headers = {}, &block)
16
+ get(build_endpoint(FIND_CATEGORY_BRANCH,
17
+ cat: cat_id), headers, &block)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,29 @@
1
+ module PlentyClient
2
+ module Category
3
+ class Template
4
+ extend PlentyClient::Endpoint
5
+ extend PlentyClient::Request
6
+
7
+ FIND_CATEGORY_TEMPLATE = '/categories/{catId}/templates'.freeze
8
+ UPDATE_CATEGORY_TEMPLATE = '/categories/{catId}/templates'.freeze
9
+ DELETE_CATEGORY_TEMPLATE = '/categories/{catId}/templates'.freeze
10
+
11
+ class << self
12
+ def list(cat_id, headers = {}, &block)
13
+ get(build_endpoint(LIST_BASKET_ITEMS,
14
+ cat: cat_id), headers, &block)
15
+ end
16
+
17
+ def update(cat_id, body = {})
18
+ put(build_endpoint(UPDATE_CATEGORY_TEMPLATE,
19
+ cat: cat_id), body)
20
+ end
21
+
22
+ def delete(cat_id, body = {})
23
+ delete(build_endpoint(DELETE_CATEGORY_TEMPLATE,
24
+ cat: cat_id), body)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,50 @@
1
+ module PlentyClient
2
+ module Category
3
+ extend PlentyClient::Endpoint
4
+ extend PlentyClient::Request
5
+
6
+ FIND_CATEGORY = '/categories/{catId}'.freeze
7
+ LIST_CATEGORIES = '/categories'.freeze
8
+ CREATE_CATEGORY = '/categories'.freeze
9
+ UPDATE_CATEGORY = '/categories/{catId}'.freeze
10
+ UPDATE_CATEGORIES = '/categories'.freeze
11
+ DELETE_CATEGORY = '/categories/{catId}'.freeze
12
+ DELETE_CATEGORY_DETAILS = '/categories/{catId}/details'.freeze
13
+ DELETE_CATEGORY_CLIENTS = '/categories/{catId}/clients'.freeze
14
+
15
+ class << self
16
+ def list(headers = {}, &block)
17
+ get(build_endpoint(LIST_CATEGORIES), headers, &block)
18
+ end
19
+
20
+ def find(cat_id = nil, headers = {}, &block)
21
+ get(build_endpoint(FIND_CATEGORY, cat: cat_id), headers, &block)
22
+ end
23
+
24
+ def create(body = {})
25
+ post(CREATE_CATEGORY, body)
26
+ end
27
+
28
+ def update(cat_id, body = {})
29
+ post(build_endpoint(UPDATE_CATEGORY,
30
+ cat: cat_id), body)
31
+ end
32
+
33
+ def update_all(body = {})
34
+ post(build_endpoint(UPDATE_CATEGORIES), body)
35
+ end
36
+
37
+ def delete(cat_id, body = {})
38
+ delete(build_endpoint(DELETE_CATEGORY, cat: cat_id), body)
39
+ end
40
+
41
+ def delete_details(cat_id, body = {})
42
+ delete(build_endpoint(DELETE_CATEGORY_DETAILS, cat: cat_id), body)
43
+ end
44
+
45
+ def delete_clients(cat_id, body = {})
46
+ delete(build_endpoint(DELETE_CATEGORY_CLIENTS, cat: cat_id), body)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,31 @@
1
+ module PlentyClient
2
+ module Comment
3
+ extend PlentyClient::Endpoint
4
+ extend PlentyClient::Request
5
+
6
+ FIND_COMMENT = '/comments/{commentId}'.freeze
7
+ LIST_COMMENTS = '/comments/{referenceType}/{referenceValue}'.freeze
8
+ CREATE_COMMENT = '/comments'.freeze
9
+ DELETE_COMMENT = '/comments/{commentId}'.freeze
10
+
11
+ class << self
12
+ def list(reference_type, reference_value, headers = {}, &block)
13
+ get(build_endpoint(LIST_COMMENTS,
14
+ reference_type: reference_type,
15
+ reference_value: reference_value), headers, &block)
16
+ end
17
+
18
+ def find(comment_id, headers = {}, &block)
19
+ get(build_endpoint(FIND_COMMENT, comment: comment_id), headers, &block)
20
+ end
21
+
22
+ def create(body = {})
23
+ post(CREATE_CATEGORY, body)
24
+ end
25
+
26
+ def delete(cat_id, body = {})
27
+ delete(build_endpoint(DELETE_CATEGORY, comment: cat_id), body)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -17,6 +17,7 @@ module PlentyClient
17
17
  cat: /\{catId\}/,
18
18
  commission: /\{commissionId\}/,
19
19
  component: /\{componentId\}/,
20
+ comment: /\{commentId\}/,
20
21
  contact: /\{contactId\}/,
21
22
  country: /\{countryId\}/,
22
23
  coupon_string: /\{coupon\}/,
@@ -27,6 +28,7 @@ module PlentyClient
27
28
  item: /\{itemId\}/,
28
29
  item_set: /\{itemSetId\}/,
29
30
  lang: /\{lang\}/,
31
+ location: /\{locationId\}/,
30
32
  manufacturer: /\{manufacturerId\}/,
31
33
  market: /\{marketId\}/,
32
34
  market_ident_number: /\{marketIdentNumberId\}/,
@@ -40,6 +42,8 @@ module PlentyClient
40
42
  property_group: /\{propertyGroupId\}/,
41
43
  property: /\{propertyId\}/,
42
44
  referrer: /\{referrerId\}/,
45
+ reference_type: /\{referenceType\}/,
46
+ reference_value: /\{referenceValue\}/,
43
47
  sales_price: /\{salesPriceId\}/,
44
48
  shipping_profile: /\{shippingProfileId\}/,
45
49
  shipping_package: /\{orderShippingPackageId\}/,
@@ -9,9 +9,7 @@ module PlentyClient
9
9
  start_time = Time.now
10
10
  response = perform(http_method, path, params)
11
11
  body = parse_body(response, http_method, path, params)
12
- if PlentyClient::Config.log
13
- log_output(http_method, base_url(path), params, time_diff_ms(start_time, Time.now))
14
- end
12
+ log_output(http_method, base_url(path), params, time_diff_ms(start_time, Time.now)) if PlentyClient::Config.log
15
13
  body
16
14
  end
17
15
 
@@ -42,8 +40,7 @@ module PlentyClient
42
40
  break if response['isLastPage'] == true
43
41
  end
44
42
  else
45
- response = request(:get, path, params.merge(page: page))
46
- rval_array << rval
43
+ rval_array << request(:get, path, params.merge(page: page))
47
44
  end
48
45
  rval_array.flatten
49
46
  end
@@ -1,3 +1,3 @@
1
1
  module PlentyClient
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
data/lib/plenty_client.rb CHANGED
@@ -2,15 +2,30 @@ require 'curl'
2
2
  require 'json'
3
3
 
4
4
  module PlentyClient
5
- autoload :Version, 'plenty_client/version'
6
5
  autoload :Config, 'plenty_client/config'
6
+ autoload :Constants, 'plenty_client/constants'
7
7
  autoload :Endpoint, 'plenty_client/endpoint'
8
8
  autoload :Request, 'plenty_client/request'
9
- autoload :Constants, 'plenty_client/constants'
9
+ autoload :Version, 'plenty_client/version'
10
10
 
11
- autoload :Item, 'plenty_client/item'
12
- autoload :Order, 'plenty_client/order'
13
- autoload :ItemSet, 'plenty_client/item_set'
11
+ autoload :Accounting, 'plenty_client/accounting'
12
+ autoload :Authentication, 'plenty_client/authentication'
13
+ autoload :Authorization, 'plenty_client/authorization'
14
+ autoload :Basket, 'plenty_client/basket'
15
+ autoload :Category, 'plenty_client/category'
16
+ autoload :Comment, 'plenty_client/comment'
17
+ autoload :Item, 'plenty_client/item'
18
+ autoload :ItemSet, 'plenty_client/item_set'
19
+ autoload :Order, 'plenty_client/order'
20
+
21
+ module Basket
22
+ autoload :Item, 'plenty_client/basket/item'
23
+ end
24
+
25
+ module Category
26
+ autoload :Branch, 'plenty_client/category/branch'
27
+ autoload :Template, 'plenty_client/category/template'
28
+ end
14
29
 
15
30
  module Item
16
31
  autoload :Attribute, 'plenty_client/item/attribute'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plenty_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dariusch Ochlast
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-06 00:00:00.000000000 Z
11
+ date: 2017-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,7 @@ executables: []
94
94
  extensions: []
95
95
  extra_rdoc_files: []
96
96
  files:
97
+ - ".codeclimate.yml"
97
98
  - ".gitignore"
98
99
  - ".rspec"
99
100
  - ".rubocop.yml"
@@ -104,6 +105,15 @@ files:
104
105
  - README.md
105
106
  - Rakefile
106
107
  - lib/plenty_client.rb
108
+ - lib/plenty_client/accounting.rb
109
+ - lib/plenty_client/authentication.rb
110
+ - lib/plenty_client/authorization.rb
111
+ - lib/plenty_client/basket.rb
112
+ - lib/plenty_client/basket/item.rb
113
+ - lib/plenty_client/category.rb
114
+ - lib/plenty_client/category/branch.rb
115
+ - lib/plenty_client/category/template.rb
116
+ - lib/plenty_client/comment.rb
107
117
  - lib/plenty_client/config.rb
108
118
  - lib/plenty_client/constants.rb
109
119
  - lib/plenty_client/endpoint.rb
@@ -197,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
207
  version: '0'
198
208
  requirements: []
199
209
  rubyforge_project:
200
- rubygems_version: 2.5.1
210
+ rubygems_version: 2.6.10
201
211
  signing_key:
202
212
  specification_version: 4
203
213
  summary: This is Version 1 of the PlentyMarkets Rest Client for Ruby.