moysklad 0.4.5 → 0.4.6
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 +4 -4
- data/lib/moysklad/client.rb +8 -10
- data/lib/moysklad/version.rb +1 -1
- data/moysklad.gemspec +1 -1
- metadata +15 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3435d7c195bd20de53d97c82ac10d8269d94fc0e35a2e1aaf1330e5939ac28cb
|
|
4
|
+
data.tar.gz: d6067f848aa3a3568d996a9c9f02537035661fbfb67a5f7cf24193c6114490c6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6847920c2dc4f7d99f9c45b77fe3d0e438cf606452e6cde86fe0c69846268d860ea23ffbcf759d9559acda614de7fa880921b54fcd839cc3cc96e36743118f21
|
|
7
|
+
data.tar.gz: 82d5e908c6888f8abc700f400d3041b23d08b1642e6deec87a5074acd6327855231de5aac8fd5bf59bdcd855af03e8d2c386bd30a68883000b2c174833270d10
|
data/lib/moysklad/client.rb
CHANGED
|
@@ -2,6 +2,7 @@ require 'faraday'
|
|
|
2
2
|
require 'faraday/detailed_logger'
|
|
3
3
|
require 'faraday_curl'
|
|
4
4
|
require 'faraday/gzip'
|
|
5
|
+
require 'faraday/encoding'
|
|
5
6
|
|
|
6
7
|
require_relative 'client/errors'
|
|
7
8
|
|
|
@@ -14,6 +15,8 @@ class Moysklad::Client
|
|
|
14
15
|
conn.response :detailed_logger, logger
|
|
15
16
|
conn.request :curl, logger, :info
|
|
16
17
|
end
|
|
18
|
+
conn.request :gzip
|
|
19
|
+
conn.response :encoding
|
|
17
20
|
|
|
18
21
|
conn.options.timeout = ENV.fetch('MOYSKLAD_HTTP_TIMEOUT', 120)
|
|
19
22
|
if Faraday::VERSION.split('.').first.to_i < 2
|
|
@@ -21,29 +24,25 @@ class Moysklad::Client
|
|
|
21
24
|
else
|
|
22
25
|
conn.request(:authorization, :basic, login, password)
|
|
23
26
|
end
|
|
27
|
+
|
|
28
|
+
conn.adapter Faraday.default_adapter
|
|
24
29
|
end
|
|
25
30
|
end
|
|
26
31
|
|
|
27
32
|
def download(path, filename)
|
|
28
|
-
response = client.get path
|
|
29
|
-
req.request :gzip
|
|
30
|
-
end
|
|
33
|
+
response = client.get path
|
|
31
34
|
File.open(filename, 'wb') { |fp| fp.write(response.body) }
|
|
32
35
|
end
|
|
33
36
|
|
|
34
37
|
def get path, params={}
|
|
35
38
|
logger.debug "Client: GET #{path} #{params}"
|
|
36
|
-
|
|
37
|
-
req.request :gzip
|
|
38
|
-
end
|
|
39
|
-
parse_response result
|
|
39
|
+
parse_response client.get path, params
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def post path, data
|
|
43
43
|
logger.debug "Client: POST #{path}"
|
|
44
44
|
result = client.post do |req|
|
|
45
45
|
req.url path
|
|
46
|
-
req.request :gzip
|
|
47
46
|
req.headers['Content-Type'] = 'application/json'
|
|
48
47
|
req.headers['Accept'] = '*/*'
|
|
49
48
|
req.body = data
|
|
@@ -54,7 +53,6 @@ class Moysklad::Client
|
|
|
54
53
|
def put path, data
|
|
55
54
|
logger.debug "Client: PUT #{path}"
|
|
56
55
|
result = client.put do |req|
|
|
57
|
-
req.request :gzip
|
|
58
56
|
req.url path
|
|
59
57
|
req.headers['Content-Type'] = 'application/json'
|
|
60
58
|
req.headers['Accept'] = '*/*'
|
|
@@ -66,7 +64,6 @@ class Moysklad::Client
|
|
|
66
64
|
def delete path
|
|
67
65
|
logger.debug "Client: DELETE #{path}"
|
|
68
66
|
result = client.delete do |req|
|
|
69
|
-
req.request :gzip
|
|
70
67
|
req.url path
|
|
71
68
|
req.headers['Content-Type'] = 'application/json'
|
|
72
69
|
req.headers['Accept'] = '*/*'
|
|
@@ -84,6 +81,7 @@ class Moysklad::Client
|
|
|
84
81
|
|
|
85
82
|
def parse_response res
|
|
86
83
|
body = res.body
|
|
84
|
+
body.force_encoding 'utf-8' if res.body.encoding.to_s == "ASCII-8BIT" && res.headers['content-type'].include?('charset=utf-8')
|
|
87
85
|
Moysklad.logger.debug "Response [#{res.status}] with body #{body}"
|
|
88
86
|
|
|
89
87
|
if res.status == 200
|
data/lib/moysklad/version.rb
CHANGED
data/moysklad.gemspec
CHANGED
|
@@ -22,8 +22,8 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
|
|
23
23
|
spec.add_runtime_dependency 'faraday'
|
|
24
24
|
spec.add_runtime_dependency 'faraday-gzip'
|
|
25
|
+
spec.add_runtime_dependency 'faraday-encoding'
|
|
25
26
|
spec.add_runtime_dependency 'virtus'
|
|
26
|
-
# spec.add_runtime_dependency 'nokogiri-happymapper'
|
|
27
27
|
spec.add_runtime_dependency 'activesupport', '>=3.0.0'
|
|
28
28
|
|
|
29
29
|
spec.add_development_dependency "bundler"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: moysklad
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Danil Pismenny
|
|
@@ -38,6 +38,20 @@ dependencies:
|
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: faraday-encoding
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
56
|
name: virtus
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|