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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29d637416775f256beda271796924a188a577f31
4
- data.tar.gz: 0764dacd1b9b341b72730ed142866c7c05b02383
3
+ metadata.gz: e53adbd2b5a083b0fb9e90646dac235545237336
4
+ data.tar.gz: 88bfab044cf0b2214ff029443786e7dc4ad82f76
5
5
  SHA512:
6
- metadata.gz: 89d329c205f1792ce8173ce52af161aee3eaa12b780257ec4cf3714a7f2548ca7ac510477453d2cc6f683ff954480529be9dde9a13a81ab877f58de8c3935f47
7
- data.tar.gz: cc342e1016adc4a9760b738081cd6b382238b32744e028db90b15156619b6c8a97cd5a2415e3d79c261698d59d69b56be5c4e786e5ce556a97ee6586b56cc79a
6
+ metadata.gz: fc6883a6ba4ce7b7dacd71d54b0d74adca74b92db223a88e5d79b6e129e2fb8a0ef81f6a53c64da507660658e62014ba0c4ce603160b269bac82c243de750106
7
+ data.tar.gz: 7a88cc9582adea5d6f358b166640fc62d2e391eda2b14e39e1ed460406e489c244c5b42ec8310c89cba4c9c50101efda9283c3b5e8d8a068e1f7a377c2cbe338
data/Gemfile CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- # Specify your gem's dependencies in mailru_target.gemspec
5
+ # Specify your gem's dependencies in my_target_api.gemspec
6
6
  gemspec
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  Add this line to your application's Gemfile:
8
8
 
9
9
  ```
10
- gem 'my_target_api', '~> 1.0.4'
10
+ gem 'my_target_api', '~> 1.0.5'
11
11
  ```
12
12
 
13
13
  Or install from command line:
@@ -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.map do |name, value|
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 = prepare_params(params)
14
-
15
- api.post_request("#{path}.json", params)
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 = prepare_params(params)
20
- id = params.delete(:id)
21
-
22
- if id
23
- api.get_request("#{path}/#{id}.json", params)
24
- else
25
- api.get_request("#{path}.json", params)
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 = prepare_params(params)
31
- id = params.delete(:id)
32
- raise ArgumentError, ':id is required' unless id
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 = prepare_params(params)
39
- id = params.delete(:id)
40
- raise ArgumentError, ':id is required' unless id
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 prepare_params(params)
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  class MyTargetApi
4
4
 
5
- VERSION = '1.0.4'
5
+ VERSION = '1.0.5'
6
6
 
7
7
  end
@@ -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 = ['Reshetnikov Ivan']
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
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
- - Reshetnikov Ivan
7
+ - OneRetarget.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-02 00:00:00.000000000 Z
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
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'