my_target_api 1.0.4 → 1.0.5

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: 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'