pisoni 1.29.0 → 1.30.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
  SHA256:
3
- metadata.gz: 8f1ad974b6dcbbf155ca09a341c90299512b202c25be5d02313d8230b3643050
4
- data.tar.gz: ceaaa69cfa602b690ab20f48dbc98bc46a2fdcfaa52f36330e1fd698b37a6bbc
3
+ metadata.gz: bc7b659e66478ddb954b8144e47cd83cbf80acd54e16f7f051c82f07f47c221f
4
+ data.tar.gz: fb1ab6344af206a17085bf42134622fef72e57093bad247ce8efaa2b823b8ff6
5
5
  SHA512:
6
- metadata.gz: bb81cdc2713b7be7ab6fd06983769df7f62b966816a0b71c7a97454ffb511ea059e896aca2bd6397b0bebeb7250b37616ade6f43d5fb6f680192891a85a8fd22
7
- data.tar.gz: 268a297b87ac353451fe91a9b2963acd200e5c1a6470ac610989b21f13683d2ca32a939eb14b10ea6f893f9210dbdd89af85ac0bd7377a3c226410d8101d3f68
6
+ metadata.gz: 2b39b7a9ed13db3500fb782b1f1f5e75cc9d15261938f70e11788f84a96957a6f38ca3cc801bf84f7b5ee94cb4bac4a1bfed12ec9a4bc99fb5c01f73ed4ea860
7
+ data.tar.gz: 1de636e31c5d8c5897eda7282283a157553a032c81f26b58378c39a342021786285b851c59bd786dbbf3f5ea536ed3cd4f564c415240887af136e46e18345c2f
data/CHANGELOG.md CHANGED
@@ -2,12 +2,27 @@
2
2
 
3
3
  Notable changes to Pisoni will be tracked in this document.
4
4
 
5
+ ## 1.30.0 - 2024-02-29
6
+
7
+ ### Changed
8
+
9
+ - Fixed the issue with fetching utilization and managing referrer filters for applications with special characters in the
10
+ application IDs by escaping them. [#33](https://github.com/3scale/pisoni/pull/33)
11
+ - Upgrade dependencies, specifically `faraday` and `json`, making Ruby 2.6 the minimum supported version. [#34](https://github.com/3scale/pisoni/pull/34)
12
+
13
+ ## 1.29.1 - 2023-11-30
14
+
15
+ ### Changed
16
+
17
+ - Fixed the issue with updating/deleting keys for applications with special characters in the
18
+ application IDs by escaping them. [#31](https://github.com/3scale/pisoni/pull/31)
19
+
5
20
  ## 1.29.0 - 2020-03-17
6
21
 
7
22
  ### Removed
8
23
 
9
24
  - "Latest transactions" functionality
10
- [#26](https://github.com/3scale/pisoni/pull/26)
25
+ [#27](https://github.com/3scale/pisoni/pull/27)
11
26
 
12
27
  ## 1.28.0 - 2019-12-20
13
28
 
data/Gemfile CHANGED
@@ -3,14 +3,12 @@ source "https://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  group :test do
6
- gem 'turn', '~> 0.9.7'
7
6
  gem 'minitest'
8
7
  gem "codeclimate-test-reporter", require: nil
9
8
  end
10
9
 
11
10
  group :development, :test do
12
- gem 'pry', '~> 0.10.0'
13
- gem 'pry-doc', '~> 0.6.0'
14
- gem 'pry-byebug', '~> 2.0.0'
11
+ gem 'pry-doc', '>= 0.8'
12
+ gem 'pry-byebug', '>= 3.7.0'
15
13
  gem 'license_finder', '~> 5', require: false
16
14
  end
@@ -106,7 +106,7 @@ module ThreeScale
106
106
  else
107
107
  Core.faraday.send method, uri, attributes.to_json
108
108
  end
109
- rescue Faraday::Error::ClientError, SystemCallError => e
109
+ rescue Faraday::ClientError, SystemCallError => e
110
110
  raise ConnectionError, e
111
111
  end
112
112
  private :api_http
@@ -1,3 +1,5 @@
1
+ require 'erb'
2
+
1
3
  module ThreeScale
2
4
  module Core
3
5
  module APIClient
@@ -38,6 +40,10 @@ module ThreeScale
38
40
  @default_prefix = prefix
39
41
  end
40
42
 
43
+ def url_encode(str)
44
+ ERB::Util.url_encode(str)
45
+ end
46
+
41
47
  private
42
48
 
43
49
  def internal_api_error(status)
@@ -1,5 +1,3 @@
1
- require 'cgi'
2
-
3
1
  module ThreeScale
4
2
  module Core
5
3
  class Application < APIClient::Resource
@@ -18,16 +16,12 @@ module ThreeScale
18
16
  private_class_method :base_uri
19
17
 
20
18
  def self.app_uri(service_id, id)
21
- escaped_id = CGI::escape(id.to_s)
22
-
23
- "#{base_uri(service_id)}#{escaped_id}"
19
+ "#{base_uri(service_id)}#{url_encode(id)}"
24
20
  end
25
21
  private_class_method :app_uri
26
22
 
27
23
  def self.key_uri(service_id, key)
28
- escaped_key = CGI::escape(key)
29
-
30
- "#{base_uri(service_id)}key/#{escaped_key}"
24
+ "#{base_uri(service_id)}key/#{url_encode(key)}"
31
25
  end
32
26
  private_class_method :key_uri
33
27
 
@@ -77,8 +71,7 @@ module ThreeScale
77
71
 
78
72
  def self.save_id_by_key(service_id, user_key, id)
79
73
  raise ApplicationHasInconsistentData.new(id, user_key) if (service_id.nil? || id.nil? || user_key.nil? || service_id=="" || id=="" || user_key=="")
80
- escaped_key = CGI::escape(user_key)
81
- ret = api_do_put({}, uri: "#{app_uri(service_id, id)}/key/#{escaped_key}")
74
+ ret = api_do_put({}, uri: "#{app_uri(service_id, id)}/key/#{url_encode(user_key)}")
82
75
  ret[:ok]
83
76
  end
84
77
 
@@ -1,5 +1,3 @@
1
- require 'cgi'
2
-
3
1
  module ThreeScale
4
2
  module Core
5
3
  class ApplicationKey < APIClient::Resource
@@ -23,14 +21,12 @@ module ThreeScale
23
21
  end
24
22
 
25
23
  def self.base_uri(service_id, application_id)
26
- "#{default_uri}#{service_id}/applications/#{application_id}/keys/"
24
+ "#{default_uri}#{service_id}/applications/#{url_encode(application_id)}/keys/"
27
25
  end
28
26
  private_class_method :base_uri
29
27
 
30
28
  def self.application_key_uri(service_id, application_id, value = '')
31
- escaped_value = CGI::escape(value)
32
-
33
- "#{base_uri(service_id, application_id)}#{escaped_value}"
29
+ "#{base_uri(service_id, application_id)}#{url_encode(value)}"
34
30
  end
35
31
  private_class_method :application_key_uri
36
32
  end
@@ -25,7 +25,7 @@ module ThreeScale
25
25
  end
26
26
 
27
27
  def self.base_uri(service_id, application_id)
28
- "#{default_uri}#{service_id}/applications/#{application_id}/referrer_filters"
28
+ "#{default_uri}#{service_id}/applications/#{url_encode(application_id)}/referrer_filters"
29
29
  end
30
30
  private_class_method :base_uri
31
31
  end
@@ -2,8 +2,7 @@ module ThreeScale
2
2
  module Core
3
3
  class Service < APIClient::Resource
4
4
  attributes :provider_key, :id, :backend_version, :referrer_filters_required,
5
- :user_registration_required, :default_user_plan_id,
6
- :default_user_plan_name, :default_service, :state
5
+ :default_service, :state
7
6
 
8
7
  class << self
9
8
  def load_by_id(service_id)
@@ -85,10 +84,6 @@ module ThreeScale
85
84
  @referrer_filters_required
86
85
  end
87
86
 
88
- def user_registration_required?
89
- @user_registration_required
90
- end
91
-
92
87
  def active?
93
88
  state == :active
94
89
  end
@@ -6,7 +6,7 @@ module ThreeScale
6
6
  default_uri '/internal/services/'
7
7
 
8
8
  def self.utilization_uri(service_id, app_id)
9
- "#{default_uri}#{service_id}/applications/#{app_id}/utilization/"
9
+ "#{default_uri}#{service_id}/applications/#{url_encode(app_id)}/utilization/"
10
10
  end
11
11
  private_class_method :utilization_uri
12
12
 
@@ -1,5 +1,5 @@
1
1
  module ThreeScale
2
2
  module Core
3
- VERSION = '1.29.0'
3
+ VERSION = '1.30.0'
4
4
  end
5
5
  end
data/lib/3scale/core.rb CHANGED
@@ -1,14 +1,7 @@
1
1
  require 'uri'
2
2
  require 'json'
3
3
  require 'faraday'
4
- require 'net/http/persistent'
5
-
6
- # Warn that Faraday < 0.13 and Net::HTTP::Persistent >= 3.0.0 don't mix well
7
- if Faraday::VERSION =~ /0\.([0-9]|1[012])\.\d+/ &&
8
- Net::HTTP::Persistent::VERSION =~ /^[^012]\.\d+\.\d+/
9
- warn 'The combination of faraday < 0.13 and net-http-persistent 3.0+ is ' \
10
- 'known to have issues. See https://github.com/lostisland/faraday/issues/617'
11
- end
4
+ require 'faraday/net_http_persistent'
12
5
 
13
6
  require '3scale/core/version'
14
7
  require '3scale/core/logger'
@@ -56,7 +49,7 @@ module ThreeScale
56
49
  @password = uri.password
57
50
  end
58
51
 
59
- @faraday.basic_auth(@username, @password) if @username || @password
52
+ @faraday.set_basic_auth(@username, @password) if @username || @password
60
53
  @faraday
61
54
  end
62
55
 
data/pisoni.gemspec CHANGED
@@ -18,12 +18,13 @@ Gem::Specification.new do |s|
18
18
  s.description = 'Client for the Apisonator internal API for model data.'
19
19
  s.license = 'Apache-2.0'
20
20
 
21
- s.add_dependency 'faraday', '>= 0.9.1'
22
- s.add_dependency 'json', '>= 1.8.1'
23
- s.add_dependency 'injectedlogger', '>= 0.0.13'
24
- s.add_dependency 'net-http-persistent'
21
+ # faraday v2.9.0 removes support for Ruby 2.7, see https://github.com/lostisland/faraday/releases/tag/v2.9.0
22
+ s.add_runtime_dependency 'faraday', '~> 2.0', '<= 2.9'
23
+ s.add_runtime_dependency 'json', '~> 2.7', '>= 2.7.1'
24
+ s.add_runtime_dependency 'injectedlogger', '0.0.13'
25
+ s.add_runtime_dependency 'faraday-net_http_persistent', '~> 2.1'
25
26
 
26
- s.add_development_dependency 'rake'
27
+ s.add_development_dependency 'rake', '~> 13.1'
27
28
 
28
29
  s.files = `git ls-files`.split($/).reject do |f| [
29
30
  %r{^\.[^\/]},
@@ -39,5 +40,5 @@ Gem::Specification.new do |s|
39
40
 
40
41
  s.rdoc_options = ["--charset=UTF-8"]
41
42
 
42
- s.required_ruby_version = '>= 2.3.0'
43
+ s.required_ruby_version = '>= 2.6.0'
43
44
  end
@@ -5,17 +5,17 @@ module ThreeScale
5
5
  describe '.load_all' do
6
6
  describe 'when there are alert limits' do
7
7
  let(:service_id) { 100 }
8
- let(:values) { [50, 100] }
8
+ let(:limits) { [50, 100] }
9
9
  before do
10
- values.map { |value| AlertLimit.delete(service_id, value) }
11
- values.map { |value| AlertLimit.save(service_id, value) }
10
+ limits.map { |value| AlertLimit.delete(service_id, value) }
11
+ limits.map { |value| AlertLimit.save(service_id, value) }
12
12
  end
13
13
 
14
14
  it 'returns a list of alert limits' do
15
15
  alert_limits = AlertLimit.load_all(service_id)
16
16
 
17
17
  alert_limits.size.must_equal 2
18
- alert_limits.map(&:value).must_equal values
18
+ alert_limits.map(&:value).must_equal limits
19
19
  end
20
20
  end
21
21
 
@@ -30,40 +30,40 @@ module ThreeScale
30
30
 
31
31
  describe '.save' do
32
32
  let(:service_id) { 500 }
33
- let(:value) { 100 }
33
+ let(:limit) { 100 }
34
34
 
35
35
  before do
36
- AlertLimit.delete(service_id, value)
36
+ AlertLimit.delete(service_id, limit)
37
37
  end
38
38
 
39
39
  it 'returns a AlertLimit object' do
40
- alert_limit = AlertLimit.save(service_id, value)
40
+ alert_limit = AlertLimit.save(service_id, limit)
41
41
 
42
42
  alert_limit.must_be_kind_of AlertLimit
43
- alert_limit.value.must_equal value
43
+ alert_limit.value.must_equal limit
44
44
  end
45
45
  end
46
46
 
47
47
  describe '.delete' do
48
48
  describe 'with an existing alert limit' do
49
49
  let(:service_id) { 300 }
50
- let(:value) { 50 }
50
+ let(:limit) { 50 }
51
51
 
52
52
  before do
53
- AlertLimit.save(service_id, value)
53
+ AlertLimit.save(service_id, limit)
54
54
  end
55
55
 
56
56
  it 'returns true' do
57
- AlertLimit.delete(service_id, value).must_equal true
57
+ AlertLimit.delete(service_id, limit).must_equal true
58
58
  end
59
59
  end
60
60
 
61
61
  describe 'with a non-existing alert limit' do
62
62
  let(:service_id) { 300 }
63
- let(:value) { 75 }
63
+ let(:limit) { 75 }
64
64
 
65
65
  it 'returns true' do
66
- AlertLimit.delete(service_id, value).must_equal false
66
+ AlertLimit.delete(service_id, limit).must_equal false
67
67
  end
68
68
  end
69
69
  end
@@ -6,21 +6,21 @@ module ThreeScale
6
6
  describe 'when there are application keys' do
7
7
  let(:service_id) { 100 }
8
8
  let(:app_id) { 2001 }
9
- let(:values) { ["foo", "bar"] }
9
+ let(:keys) { %w[foo bar] }
10
10
  before do
11
- values.map { |value| ApplicationKey.delete(service_id, app_id, value) }
11
+ keys.map { |key| ApplicationKey.delete(service_id, app_id, key) }
12
12
 
13
13
  Application.save service_id: service_id, id: app_id, state: 'suspended',
14
14
  plan_id: '3066', plan_name: 'crappy', redirect_url: 'blah'
15
15
 
16
- values.map { |value| ApplicationKey.save(service_id, app_id, value) }
16
+ keys.map { |key| ApplicationKey.save(service_id, app_id, key) }
17
17
  end
18
18
 
19
19
  it 'returns a list of application keys' do
20
20
  application_keys = ApplicationKey.load_all(service_id, app_id)
21
21
 
22
22
  application_keys.size.must_equal 2
23
- application_keys.map(&:value).sort.must_equal values.sort
23
+ application_keys.map(&:value).sort.must_equal keys.sort
24
24
  end
25
25
  end
26
26
 
@@ -42,24 +42,40 @@ module ThreeScale
42
42
  describe '.save' do
43
43
  let(:service_id) { 500 }
44
44
  let(:app_id) { 500 }
45
- let(:value) { "foobar" }
45
+ let(:key) { "foobar" }
46
46
 
47
47
  before do
48
- ApplicationKey.delete(service_id, app_id, value)
48
+ ApplicationKey.delete(service_id, app_id, key)
49
49
 
50
50
  Application.save service_id: service_id, id: app_id, state: 'suspended',
51
51
  plan_id: '3066', plan_name: 'crappy', redirect_url: 'blah'
52
52
  end
53
53
 
54
54
  it 'returns an ApplicationKey object' do
55
- application_key = ApplicationKey.save(service_id, app_id, value)
55
+ application_key = ApplicationKey.save(service_id, app_id, key)
56
56
 
57
57
  application_key.must_be_kind_of ApplicationKey
58
- application_key.value.must_equal value
58
+ application_key.value.must_equal key
59
59
  end
60
60
 
61
61
  describe 'with a key that contains special chars (*, _, etc.)' do
62
- let(:key) { '#$*' }
62
+ let(:key) { SPECIAL_CHARACTERS }
63
+
64
+ before do
65
+ ApplicationKey.delete(service_id, app_id, key)
66
+ end
67
+
68
+ it 'saves it correctly' do
69
+ application_key = ApplicationKey.save(service_id, app_id, key)
70
+
71
+ application_key.must_be_kind_of ApplicationKey
72
+ application_key.value.must_equal key
73
+ end
74
+ end
75
+
76
+ describe 'with app ID that contains special characters ({, $, ? etc.)' do
77
+ let(:app_id) { SPECIAL_CHARACTERS }
78
+ let(:key) { SPECIAL_CHARACTERS }
63
79
 
64
80
  before do
65
81
  ApplicationKey.delete(service_id, app_id, key)
@@ -103,7 +119,7 @@ module ThreeScale
103
119
  end
104
120
 
105
121
  describe 'with a key that contains special chars (*, _, etc.)' do
106
- let(:key_with_special_chars) { '#$*' }
122
+ let(:key_with_special_chars) { SPECIAL_CHARACTERS }
107
123
 
108
124
  before do
109
125
  ApplicationKey.save(service_id, app_id, key)
@@ -3,7 +3,7 @@ module ThreeScale
3
3
  module Core
4
4
  describe ApplicationReferrerFilter do
5
5
  let(:service_id) { 10 }
6
- let(:app_id) { 100 }
6
+ let(:app_id) { SPECIAL_CHARACTERS }
7
7
  let(:filters) { %w(foo bar doopah) }
8
8
  let(:application) do
9
9
  { service_id: service_id,
@@ -24,22 +24,23 @@ module ThreeScale
24
24
  end
25
25
 
26
26
  describe '.load_all' do
27
+ subject { ApplicationReferrerFilter.load_all(service_id, app_id) }
28
+
27
29
  describe 'Getting all referrer filters' do
28
- let(:values) { %w(foo bar) }
30
+ let(:ref_filters) { %w(foo bar) }
29
31
 
30
32
  before do
31
- values.map { |value| ApplicationReferrerFilter.save(service_id, app_id, value) }
33
+ ref_filters.map { |value| ApplicationReferrerFilter.save(service_id, app_id, value) }
32
34
  end
33
35
 
34
36
  it 'returns a sorted list of filters' do
35
- filters = ApplicationReferrerFilter.load_all(service_id, app_id)
36
- filters.must_equal values.sort
37
+ subject.must_equal ref_filters.sort
37
38
  end
38
39
  end
39
40
 
40
41
  describe 'when there are no referrer filters' do
41
42
  it 'returns an empty list' do
42
- ApplicationReferrerFilter.load_all(service_id, app_id).must_equal []
43
+ subject.must_equal []
43
44
  end
44
45
  end
45
46
  end
@@ -47,7 +47,7 @@ module ThreeScale
47
47
 
48
48
  describe 'with an app ID that contains special characters' do
49
49
  let(:service_id) { 2001 }
50
- let(:app_id) { '#$*' }
50
+ let(:app_id) { SPECIAL_CHARACTERS }
51
51
 
52
52
  before do
53
53
  Application.save service_id: service_id, id: app_id, state: 'suspended',
@@ -90,7 +90,7 @@ module ThreeScale
90
90
 
91
91
  describe 'with an app ID that contains special characters' do
92
92
  let(:service_id) { 2001 }
93
- let(:app_id) { '#$*' }
93
+ let(:app_id) { SPECIAL_CHARACTERS }
94
94
 
95
95
  before do
96
96
  Application.save service_id: service_id, id: app_id, state: 'suspended',
@@ -157,7 +157,7 @@ module ThreeScale
157
157
 
158
158
  describe 'with an app ID that contains special characters' do
159
159
  let(:service_id) { 2001 }
160
- let(:app_id) { '#$*' }
160
+ let(:app_id) { SPECIAL_CHARACTERS }
161
161
 
162
162
  before do
163
163
  Application.delete(service_id, app_id)
@@ -271,7 +271,7 @@ module ThreeScale
271
271
 
272
272
  describe 'by_key' do
273
273
  let(:key) { 'a_key' }
274
- let(:key_with_special_chars) { '#$*' }
274
+ let(:key_with_special_chars) { SPECIAL_CHARACTERS }
275
275
  let(:service_id) { 2001 }
276
276
  let(:app_id) { 8011 }
277
277
 
data/spec/service_spec.rb CHANGED
@@ -26,8 +26,6 @@ module ThreeScale
26
26
  id: default_service_id,
27
27
  referrer_filters_required: true,
28
28
  backend_version: 'oauth',
29
- default_user_plan_id: 15,
30
- default_user_plan_name: 'test name',
31
29
  default_service: true
32
30
  raise unless service.default_service
33
31
 
@@ -47,10 +45,7 @@ module ThreeScale
47
45
  service.provider_key.must_equal default_provider_key
48
46
  service.id.must_equal default_service_id.to_s
49
47
  service.referrer_filters_required?.must_equal true
50
- service.user_registration_required?.must_equal true
51
48
  service.backend_version.must_equal 'oauth'
52
- service.default_user_plan_id.must_equal '15'
53
- service.default_user_plan_name.must_equal 'test name'
54
49
  end
55
50
  end
56
51
 
data/spec/spec_helper.rb CHANGED
@@ -13,3 +13,5 @@ $:.unshift(File.dirname(__FILE__) + '/../lib')
13
13
  require 'minitest/autorun'
14
14
  require 'bundler/setup'
15
15
  Bundler.require(:default, :development, :test)
16
+
17
+ SPECIAL_CHARACTERS = "! \"#$%&'()*+,-.:;<=>?@[]^_`{|}~\\/".freeze
@@ -105,6 +105,16 @@ module ThreeScale
105
105
  Utilization.load(service_id, non_existing_app_id).must_be_nil
106
106
  end
107
107
  end
108
+
109
+ describe 'with an application ID with special characters' do
110
+ let(:app_id) { SPECIAL_CHARACTERS }
111
+
112
+ subject { Utilization.load(service_id, app_id) }
113
+
114
+ it 'gets expected results' do
115
+ subject.wont_be_empty
116
+ end
117
+ end
108
118
  end
109
119
  end
110
120
  end
metadata CHANGED
@@ -1,85 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pisoni
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.29.0
4
+ version: 1.30.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alejandro Martinez Ruiz
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-17 00:00:00.000000000 Z
11
+ date: 2024-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ - - "<="
18
21
  - !ruby/object:Gem::Version
19
- version: 0.9.1
22
+ version: '2.9'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ">="
27
+ - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: 0.9.1
29
+ version: '2.0'
30
+ - - "<="
31
+ - !ruby/object:Gem::Version
32
+ version: '2.9'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: json
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.7'
31
40
  - - ">="
32
41
  - !ruby/object:Gem::Version
33
- version: 1.8.1
42
+ version: 2.7.1
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '2.7'
38
50
  - - ">="
39
51
  - !ruby/object:Gem::Version
40
- version: 1.8.1
52
+ version: 2.7.1
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: injectedlogger
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - ">="
57
+ - - '='
46
58
  - !ruby/object:Gem::Version
47
59
  version: 0.0.13
48
60
  type: :runtime
49
61
  prerelease: false
50
62
  version_requirements: !ruby/object:Gem::Requirement
51
63
  requirements:
52
- - - ">="
64
+ - - '='
53
65
  - !ruby/object:Gem::Version
54
66
  version: 0.0.13
55
67
  - !ruby/object:Gem::Dependency
56
- name: net-http-persistent
68
+ name: faraday-net_http_persistent
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
- - - ">="
71
+ - - "~>"
60
72
  - !ruby/object:Gem::Version
61
- version: '0'
73
+ version: '2.1'
62
74
  type: :runtime
63
75
  prerelease: false
64
76
  version_requirements: !ruby/object:Gem::Requirement
65
77
  requirements:
66
- - - ">="
78
+ - - "~>"
67
79
  - !ruby/object:Gem::Version
68
- version: '0'
80
+ version: '2.1'
69
81
  - !ruby/object:Gem::Dependency
70
82
  name: rake
71
83
  requirement: !ruby/object:Gem::Requirement
72
84
  requirements:
73
- - - ">="
85
+ - - "~>"
74
86
  - !ruby/object:Gem::Version
75
- version: '0'
87
+ version: '13.1'
76
88
  type: :development
77
89
  prerelease: false
78
90
  version_requirements: !ruby/object:Gem::Requirement
79
91
  requirements:
80
- - - ">="
92
+ - - "~>"
81
93
  - !ruby/object:Gem::Version
82
- version: '0'
94
+ version: '13.1'
83
95
  description: Client for the Apisonator internal API for model data.
84
96
  email:
85
97
  - alex@3scale.net
@@ -137,7 +149,7 @@ homepage: https://github.com/3scale/pisoni
137
149
  licenses:
138
150
  - Apache-2.0
139
151
  metadata: {}
140
- post_install_message:
152
+ post_install_message:
141
153
  rdoc_options:
142
154
  - "--charset=UTF-8"
143
155
  require_paths:
@@ -146,15 +158,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
158
  requirements:
147
159
  - - ">="
148
160
  - !ruby/object:Gem::Version
149
- version: 2.3.0
161
+ version: 2.6.0
150
162
  required_rubygems_version: !ruby/object:Gem::Requirement
151
163
  requirements:
152
164
  - - ">="
153
165
  - !ruby/object:Gem::Version
154
166
  version: '0'
155
167
  requirements: []
156
- rubygems_version: 3.0.1
157
- signing_key:
168
+ rubygems_version: 3.1.6
169
+ signing_key:
158
170
  specification_version: 4
159
171
  summary: Client for the Apisonator internal API for model data
160
172
  test_files: