my_target_api 1.0.4 → 1.0.5
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/Gemfile +1 -1
- data/README.md +1 -1
- data/lib/my_target_api/request.rb +11 -7
- data/lib/my_target_api/resource.rb +30 -22
- data/lib/my_target_api/version.rb +1 -1
- data/my_target_api.gemspec +1 -1
- metadata +3 -5
- data/Gemfile.lock +0 -81
- data/Rakefile +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e53adbd2b5a083b0fb9e90646dac235545237336
|
4
|
+
data.tar.gz: 88bfab044cf0b2214ff029443786e7dc4ad82f76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc6883a6ba4ce7b7dacd71d54b0d74adca74b92db223a88e5d79b6e129e2fb8a0ef81f6a53c64da507660658e62014ba0c4ce603160b269bac82c243de750106
|
7
|
+
data.tar.gz: 7a88cc9582adea5d6f358b166640fc62d2e391eda2b14e39e1ed460406e489c244c5b42ec8310c89cba4c9c50101efda9283c3b5e8d8a068e1f7a377c2cbe338
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -35,19 +35,27 @@ class MyTargetApi
|
|
35
35
|
process_response(response)
|
36
36
|
end
|
37
37
|
|
38
|
+
private
|
39
|
+
|
40
|
+
attr_reader :logger
|
41
|
+
|
38
42
|
def body_parameters(params)
|
39
43
|
result_params = params.dup
|
40
44
|
result_params.delete(:access_token)
|
41
45
|
|
42
46
|
if params.values.any? { |param| param.is_a? IO } || params[:grant_type]
|
43
|
-
params
|
44
|
-
[name, value.is_a?(Array) || value.is_a?(Hash) ? value.to_json : value]
|
45
|
-
end.to_h
|
47
|
+
individual_body_parameters(params)
|
46
48
|
else
|
47
49
|
params.to_json
|
48
50
|
end
|
49
51
|
end
|
50
52
|
|
53
|
+
def individual_body_parameters(params)
|
54
|
+
params.map do |name, value|
|
55
|
+
[name, value.is_a?(Array) || value.is_a?(Hash) ? value.to_json : value]
|
56
|
+
end.to_h
|
57
|
+
end
|
58
|
+
|
51
59
|
def header_parameters(params)
|
52
60
|
result_params = params.dup
|
53
61
|
result_params.delete(:access_token)
|
@@ -78,10 +86,6 @@ class MyTargetApi
|
|
78
86
|
raise MyTargetApi::ConnectionError, e
|
79
87
|
end
|
80
88
|
|
81
|
-
private
|
82
|
-
|
83
|
-
attr_reader :logger
|
84
|
-
|
85
89
|
def log_rest_client_exception(exception)
|
86
90
|
log_message =
|
87
91
|
<<-LOG
|
@@ -10,36 +10,33 @@ class MyTargetApi
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def create(params = {})
|
13
|
-
params
|
14
|
-
|
15
|
-
|
13
|
+
with_prepared_params(params) do |prepared|
|
14
|
+
api.post_request("#{path}.json", prepared)
|
15
|
+
end
|
16
16
|
end
|
17
17
|
|
18
18
|
def read(params = {})
|
19
|
-
params
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
with_prepared_params(params) do |prepared|
|
20
|
+
id = prepared.delete(:id)
|
21
|
+
|
22
|
+
if id
|
23
|
+
api.get_request("#{path}/#{id}.json", prepared)
|
24
|
+
else
|
25
|
+
api.get_request("#{path}.json", prepared)
|
26
|
+
end
|
26
27
|
end
|
27
28
|
end
|
28
29
|
|
29
30
|
def update(params = {})
|
30
|
-
params
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
api.post_request("#{path}/#{id}.json", params)
|
31
|
+
with_id_and_prepared_params(params) do |id, prepared|
|
32
|
+
api.post_request("#{path}/#{id}.json", prepared)
|
33
|
+
end
|
35
34
|
end
|
36
35
|
|
37
36
|
def delete(params = {})
|
38
|
-
params
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
api.delete_request("#{path}/#{id}.json", params)
|
37
|
+
with_id_and_prepared_params(params) do |id, prepared|
|
38
|
+
api.delete_request("#{path}/#{id}.json", prepared)
|
39
|
+
end
|
43
40
|
end
|
44
41
|
|
45
42
|
def resource(relative_path)
|
@@ -50,12 +47,23 @@ class MyTargetApi
|
|
50
47
|
|
51
48
|
attr_reader :api, :path
|
52
49
|
|
53
|
-
def
|
50
|
+
def with_prepared_params(params)
|
54
51
|
raise ArgumentError, 'Params must be a Hash' unless params.is_a? Hash
|
55
52
|
|
56
|
-
params.map do |param, value|
|
53
|
+
prepared = params.map do |param, value|
|
57
54
|
[param.to_sym, value]
|
58
55
|
end.to_h
|
56
|
+
|
57
|
+
yield prepared
|
58
|
+
end
|
59
|
+
|
60
|
+
def with_id_and_prepared_params(params)
|
61
|
+
with_prepared_params(params) do |prepared|
|
62
|
+
id = prepared.delete(:id)
|
63
|
+
raise ArgumentError, ':id is required' unless id
|
64
|
+
|
65
|
+
yield id, prepared.dup
|
66
|
+
end
|
59
67
|
end
|
60
68
|
|
61
69
|
end
|
data/my_target_api.gemspec
CHANGED
@@ -7,7 +7,7 @@ require 'my_target_api/version'
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
8
|
spec.name = 'my_target_api'
|
9
9
|
spec.version = MyTargetApi::VERSION
|
10
|
-
spec.authors = ['
|
10
|
+
spec.authors = ['OneRetarget.com']
|
11
11
|
spec.email = ['help@oneretarget.com']
|
12
12
|
spec.summary = 'Ruby client for myTarget API'
|
13
13
|
spec.description = <<~DESC
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_target_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- OneRetarget.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -149,10 +149,8 @@ extensions: []
|
|
149
149
|
extra_rdoc_files: []
|
150
150
|
files:
|
151
151
|
- Gemfile
|
152
|
-
- Gemfile.lock
|
153
152
|
- LICENSE.txt
|
154
153
|
- README.md
|
155
|
-
- Rakefile
|
156
154
|
- lib/my_target_api.rb
|
157
155
|
- lib/my_target_api/connection_error.rb
|
158
156
|
- lib/my_target_api/request.rb
|
data/Gemfile.lock
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
my_target_api (1.0.4)
|
5
|
-
json (~> 2.0, >= 2.0.0)
|
6
|
-
rest-client (~> 2.0, >= 2.0.0)
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: https://rubygems.org/
|
10
|
-
specs:
|
11
|
-
addressable (2.5.2)
|
12
|
-
public_suffix (>= 2.0.2, < 4.0)
|
13
|
-
ast (2.4.0)
|
14
|
-
crack (0.4.3)
|
15
|
-
safe_yaml (~> 1.0.0)
|
16
|
-
diff-lcs (1.3)
|
17
|
-
domain_name (0.5.20170404)
|
18
|
-
unf (>= 0.0.5, < 1.0.0)
|
19
|
-
hashdiff (0.3.7)
|
20
|
-
http-cookie (1.0.3)
|
21
|
-
domain_name (~> 0.5)
|
22
|
-
json (2.1.0)
|
23
|
-
mime-types (3.1)
|
24
|
-
mime-types-data (~> 3.2015)
|
25
|
-
mime-types-data (3.2016.0521)
|
26
|
-
netrc (0.11.0)
|
27
|
-
parallel (1.12.1)
|
28
|
-
parser (2.5.0.5)
|
29
|
-
ast (~> 2.4.0)
|
30
|
-
powerpack (0.1.1)
|
31
|
-
public_suffix (3.0.2)
|
32
|
-
rainbow (3.0.0)
|
33
|
-
rake (12.3.1)
|
34
|
-
rest-client (2.0.2)
|
35
|
-
http-cookie (>= 1.0.2, < 2.0)
|
36
|
-
mime-types (>= 1.16, < 4.0)
|
37
|
-
netrc (~> 0.8)
|
38
|
-
rspec (3.7.0)
|
39
|
-
rspec-core (~> 3.7.0)
|
40
|
-
rspec-expectations (~> 3.7.0)
|
41
|
-
rspec-mocks (~> 3.7.0)
|
42
|
-
rspec-core (3.7.1)
|
43
|
-
rspec-support (~> 3.7.0)
|
44
|
-
rspec-expectations (3.7.0)
|
45
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
46
|
-
rspec-support (~> 3.7.0)
|
47
|
-
rspec-mocks (3.7.0)
|
48
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
49
|
-
rspec-support (~> 3.7.0)
|
50
|
-
rspec-support (3.7.1)
|
51
|
-
rubocop (0.54.0)
|
52
|
-
parallel (~> 1.10)
|
53
|
-
parser (>= 2.5)
|
54
|
-
powerpack (~> 0.1)
|
55
|
-
rainbow (>= 2.2.2, < 4.0)
|
56
|
-
ruby-progressbar (~> 1.7)
|
57
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
58
|
-
ruby-progressbar (1.9.0)
|
59
|
-
safe_yaml (1.0.4)
|
60
|
-
unf (0.1.4)
|
61
|
-
unf_ext
|
62
|
-
unf_ext (0.0.7.5)
|
63
|
-
unicode-display_width (1.3.0)
|
64
|
-
webmock (2.3.2)
|
65
|
-
addressable (>= 2.3.6)
|
66
|
-
crack (>= 0.3.2)
|
67
|
-
hashdiff
|
68
|
-
|
69
|
-
PLATFORMS
|
70
|
-
ruby
|
71
|
-
|
72
|
-
DEPENDENCIES
|
73
|
-
bundler (~> 1.6)
|
74
|
-
my_target_api!
|
75
|
-
rake (~> 12.3.0, >= 12.3.0)
|
76
|
-
rspec (~> 3.7.0, >= 3.7.0)
|
77
|
-
rubocop (~> 0.54.0)
|
78
|
-
webmock (~> 2.3.2, >= 2.3.2)
|
79
|
-
|
80
|
-
BUNDLED WITH
|
81
|
-
1.16.1
|
data/Rakefile
DELETED