metrica_api 0.0.2 → 0.1.0

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: 470d1d2c35f69277c4ca146eecc9543079a71e10
4
- data.tar.gz: 6e8c708f47a6e2b264e28dc4a82592dae3c48f91
3
+ metadata.gz: a44494284a8997a9074de743d5d953294e1ff114
4
+ data.tar.gz: be1d35366825e2ea4a942a032e5c4f707cca8d02
5
5
  SHA512:
6
- metadata.gz: 6ad06e718c1c6c86a11840a4f11991fa847a8f5fc6a096ebd0a99ca867942aeb8cd38e7c62d5738adb0c414eef121a2bef9514c2376805c93d41612d2a3b9326
7
- data.tar.gz: 15c1b357d6e2f9101aae19075b0e2ae3e12d2013b03036030074be6c598bd4f0faeeb0b7f5d715c0af964b7a5cf32596a202cfff85b8691b11b65d0cfc77999f
6
+ metadata.gz: 5b216cff47580603f76c34244b099327aa29140b23395086c48e9d1762a13db50a32856af50ad5014a3702610f499fc497b2ae91a26b9d0f32c4558b5688593b
7
+ data.tar.gz: 489f47dce98badedff9ee8d2376653eb40692949cb2ac799a043c61240a7abefcfae6be2752b8d76e8d5b80a28ff9d97f6b8b4370fda68f406a0e4f08c8710bc
data/Gemfile.lock ADDED
@@ -0,0 +1,83 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ metrica_api (0.1.0)
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.6.0)
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.20180417)
18
+ unf (>= 0.0.5, < 1.0.0)
19
+ hashdiff (0.3.8)
20
+ http-cookie (1.0.3)
21
+ domain_name (~> 0.5)
22
+ jaro_winkler (1.5.2)
23
+ json (2.1.0)
24
+ mime-types (3.2.2)
25
+ mime-types-data (~> 3.2015)
26
+ mime-types-data (3.2018.0812)
27
+ netrc (0.11.0)
28
+ parallel (1.17.0)
29
+ parser (2.6.3.0)
30
+ ast (~> 2.4.0)
31
+ powerpack (0.1.2)
32
+ public_suffix (3.0.3)
33
+ rainbow (3.0.0)
34
+ rake (12.3.2)
35
+ rest-client (2.0.2)
36
+ http-cookie (>= 1.0.2, < 2.0)
37
+ mime-types (>= 1.16, < 4.0)
38
+ netrc (~> 0.8)
39
+ rspec (3.7.0)
40
+ rspec-core (~> 3.7.0)
41
+ rspec-expectations (~> 3.7.0)
42
+ rspec-mocks (~> 3.7.0)
43
+ rspec-core (3.7.1)
44
+ rspec-support (~> 3.7.0)
45
+ rspec-expectations (3.7.0)
46
+ diff-lcs (>= 1.2.0, < 2.0)
47
+ rspec-support (~> 3.7.0)
48
+ rspec-mocks (3.7.0)
49
+ diff-lcs (>= 1.2.0, < 2.0)
50
+ rspec-support (~> 3.7.0)
51
+ rspec-support (3.7.1)
52
+ rubocop (0.58.2)
53
+ jaro_winkler (~> 1.5.1)
54
+ parallel (~> 1.10)
55
+ parser (>= 2.5, != 2.5.1.1)
56
+ powerpack (~> 0.1)
57
+ rainbow (>= 2.2.2, < 4.0)
58
+ ruby-progressbar (~> 1.7)
59
+ unicode-display_width (~> 1.0, >= 1.0.1)
60
+ ruby-progressbar (1.10.0)
61
+ safe_yaml (1.0.4)
62
+ unf (0.1.4)
63
+ unf_ext
64
+ unf_ext (0.0.7.5)
65
+ unicode-display_width (1.5.0)
66
+ webmock (2.3.2)
67
+ addressable (>= 2.3.6)
68
+ crack (>= 0.3.2)
69
+ hashdiff
70
+
71
+ PLATFORMS
72
+ ruby
73
+
74
+ DEPENDENCIES
75
+ bundler (~> 1.6)
76
+ metrica_api!
77
+ rake (~> 12.3.0, >= 12.3.0)
78
+ rspec (~> 3.7.0, >= 3.7.0)
79
+ rubocop (~> 0.58.2)
80
+ webmock (~> 2.3.2, >= 2.3.2)
81
+
82
+ BUNDLED WITH
83
+ 1.16.1
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  Add this line to your application's Gemfile:
8
8
 
9
9
  ```
10
- gem 'metrica_api', '~> 0.0.1'
10
+ gem 'metrica_api', '~> 0.0.2'
11
11
  ```
12
12
 
13
13
  Or install from command line:
@@ -20,10 +20,8 @@ class MetricaApi
20
20
  logger << response
21
21
  end
22
22
  end
23
- rescue RestClient::Unauthorized,
24
- RestClient::Forbidden,
25
- RestClient::BadRequest,
26
- RestClient::ResourceNotFound => e
23
+ rescue RestClient::Unauthorized, RestClient::Forbidden,
24
+ RestClient::BadRequest, RestClient::ResourceNotFound => e
27
25
  raise MetricaApi::RequestError,
28
26
  "url: #{full_url}, original: #{e.message}"
29
27
  rescue SocketError => e
@@ -42,7 +40,7 @@ class MetricaApi
42
40
  {
43
41
  method: :get,
44
42
  url: base_url,
45
- headers: { params: params_with_token },
43
+ headers: { params: params, 'Authorization' => "OAuth #{options.fetch(:oauth_token)}" },
46
44
  log: MetricaApi.logger
47
45
  }.compact
48
46
  end
@@ -56,15 +54,11 @@ class MetricaApi
56
54
  end
57
55
 
58
56
  def query
59
- params_with_token.map do |key, value|
57
+ params.map do |key, value|
60
58
  [CGI.escape(key.to_s), '=', CGI.escape(value.to_s)]
61
59
  end.map(&:join).join('&')
62
60
  end
63
61
 
64
- def params_with_token
65
- @_params_with_token ||= params.merge(oauth_token: options.fetch(:oauth_token))
66
- end
67
-
68
62
  def base_url
69
63
  @_base_url ||= begin
70
64
  api_section = options[:api_section]
@@ -2,6 +2,6 @@
2
2
 
3
3
  class MetricaApi
4
4
 
5
- VERSION = '0.0.2'
5
+ VERSION = '0.1.0'
6
6
 
7
7
  end
data/lib/metrica_api.rb CHANGED
@@ -8,7 +8,7 @@ require 'metrica_api/sections/counters'
8
8
  # Yandex Metrica API module
9
9
  class MetricaApi
10
10
 
11
- API_HOST = 'https://api-metrika.yandex.ru'
11
+ API_HOST = 'https://api-metrika.yandex.net'
12
12
  DEFAULT_VERSION = 'v1'
13
13
  DEFAULT_FORMAT = 'json'
14
14
 
@@ -26,7 +26,7 @@ class MetricaApi
26
26
 
27
27
  attr_accessor :logger
28
28
 
29
- # @param options [Hash<:api_section, :method, :oauth_token[, :v[, :format]]>] navigation to method
29
+ # @param options [Hash<:api_section, :method, :oauth_token[, :v[, :format]]>] path to method
30
30
  # @param params [Hash] params for method
31
31
  # @result [Hash] response as ruby plain object
32
32
  def call(options, params)
@@ -49,8 +49,6 @@ class MetricaApi
49
49
  Request
50
50
  end
51
51
 
52
- private
53
-
54
52
  end
55
53
 
56
54
  end
data/metrica_api.gemspec CHANGED
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # coding: utf-8
3
2
 
4
3
  lib = File.expand_path('lib', __dir__)
5
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
@@ -30,6 +29,6 @@ Gem::Specification.new do |spec|
30
29
  spec.add_development_dependency 'bundler', '~> 1.6'
31
30
  spec.add_development_dependency 'rake', '~> 12.3.0', '>= 12.3.0'
32
31
  spec.add_development_dependency 'rspec', '~> 3.7.0', '>= 3.7.0'
33
- spec.add_development_dependency 'rubocop', '~> 0.54.0'
32
+ spec.add_development_dependency 'rubocop', '~> 0.58.2'
34
33
  spec.add_development_dependency 'webmock', '~> 2.3.2', '>= 2.3.2'
35
34
  end
data/spec/request_spec.rb CHANGED
@@ -11,12 +11,12 @@ describe 'Requests' do
11
11
  it 'performs GET-request' do
12
12
  stub_request(
13
13
  :get,
14
- 'https://api-metrika.yandex.ru/management/v1/counters.json?' +
15
- 'oauth_token=oauth_token&some_param=some_value'
16
- ).to_return(body: '{"some_array": ["some", "items"], "some_number": 35}')
14
+ 'https://api-metrika.yandex.net/management/v1/counters.json?some_param=some_value'
15
+ ).with(headers: { 'Authorization' => 'OAuth oauth_token' })
16
+ .to_return(body: '{"some_array": ["some", "items"], "some_number": 35}')
17
17
 
18
- expect(api_object.data({ some_param: 'some_value' })).to(
19
- eq("some_array" => ["some", "items"], "some_number" => 35)
18
+ expect(api_object.data(some_param: 'some_value')).to(
19
+ eq('some_array' => %w[some items], 'some_number' => 35)
20
20
  )
21
21
  end
22
22
  end
@@ -27,12 +27,12 @@ describe 'Requests' do
27
27
  it 'performs GET-request' do
28
28
  stub_request(
29
29
  :get,
30
- 'https://api-metrika.yandex.ru/stat/v1/data.json?' +
31
- 'oauth_token=oauth_token&some_param=some_value'
32
- ).to_return(body: '{"some_array": ["some", "items"], "some_number": 35}')
30
+ 'https://api-metrika.yandex.net/stat/v1/data.json?some_param=some_value'
31
+ ).with(headers: { 'Authorization' => 'OAuth oauth_token' })
32
+ .to_return(body: '{"some_array": ["some", "items"], "some_number": 35}')
33
33
 
34
- expect(api_object.data({ some_param: 'some_value' })).to(
35
- eq("some_array" => ["some", "items"], "some_number" => 35)
34
+ expect(api_object.data(some_param: 'some_value')).to(
35
+ eq('some_array' => %w[some items], 'some_number' => 35)
36
36
  )
37
37
  end
38
38
  end
@@ -45,19 +45,18 @@ describe 'Requests' do
45
45
  it 'logs requests' do
46
46
  stub_request(
47
47
  :get,
48
- 'https://api-metrika.yandex.ru/stat/v1/data.json?' +
49
- 'oauth_token=oauth_token&some_param=some_value'
50
- ).to_return(body: '{"some_array": ["some", "items"], "some_number": 35}')
48
+ 'https://api-metrika.yandex.net/stat/v1/data.json?some_param=some_value'
49
+ ).with(headers: { 'Authorization' => 'OAuth oauth_token' })
50
+ .to_return(body: '{"some_array": ["some", "items"], "some_number": 35}')
51
51
 
52
52
  expect(logger).to(
53
- receive(:<<).with('https://api-metrika.yandex.ru/stat/v1/data.json?' +
54
- 'some_param=some_value&oauth_token=oauth_token')
53
+ receive(:<<).with('https://api-metrika.yandex.net/stat/v1/data.json?some_param=some_value')
55
54
  )
56
55
  expect(logger).to(
57
56
  receive(:<<).with('{"some_array": ["some", "items"], "some_number": 35}')
58
57
  )
59
58
 
60
- MetricaApi.reporting(access_token).data({ some_param: 'some_value' })
59
+ MetricaApi.reporting(access_token).data(some_param: 'some_value')
61
60
  end
62
61
  end
63
62
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metrica_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
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-10-04 00:00:00.000000000 Z
11
+ date: 2019-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -110,14 +110,14 @@ dependencies:
110
110
  requirements:
111
111
  - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: 0.54.0
113
+ version: 0.58.2
114
114
  type: :development
115
115
  prerelease: false
116
116
  version_requirements: !ruby/object:Gem::Requirement
117
117
  requirements:
118
118
  - - "~>"
119
119
  - !ruby/object:Gem::Version
120
- version: 0.54.0
120
+ version: 0.58.2
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: webmock
123
123
  requirement: !ruby/object:Gem::Requirement
@@ -149,6 +149,7 @@ extensions: []
149
149
  extra_rdoc_files: []
150
150
  files:
151
151
  - Gemfile
152
+ - Gemfile.lock
152
153
  - LICENSE.txt
153
154
  - README.md
154
155
  - lib/metrica_api.rb