faraday 0.16.1 → 0.16.2

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: 23562bbe34d7ac60c8cc99bbebd129ef82a007fd58427e9f55150d7dd0bc62d4
4
- data.tar.gz: ec487ada8a75259f37a33615826112abe255186ee313467145361f3d42c65fb1
3
+ metadata.gz: 382a791285d8cbe43d29471e437b2ad99e77d0428e53d2de3c0be7562d48b243
4
+ data.tar.gz: ef5893153bb55c9461389041611176056b26f65f18f288aa76cac795b660de5c
5
5
  SHA512:
6
- metadata.gz: 37fe1268b37bb7841a0cf46175ff819fadcdb88d776ccb0ce67d1fa7c9527c29e3896d30960ed75da02df73a5ec6f93af32aaf2d959fe9546f37110988a03cb8
7
- data.tar.gz: 200da4c8d47cbbd9635e326d062d3be7c25f68451bc8fb82463f0b5803a42682d08cec4891c5910013723a3b57c2dc517103d2b6424706cf7f5bcf73810706b7
6
+ metadata.gz: 98f2ec6c8f92d4ff0493bd655d5d09ce1e09962efb6c9ba6f7eda174363f603f0e2ed068b4fb444ec119cd99b819df3e44f675419e24369c91a1db95a731223a
7
+ data.tar.gz: d5a8e2febb3d3ca040abad1147d70a41f26e2dc8dc0e72de707ab9b7caf400bc9308af2c6cb5aad92b267c9795daa28c42618e963a2e4cc061a7ece7ac713d10
@@ -19,7 +19,7 @@ require 'faraday/dependency_loader'
19
19
  # conn.get '/'
20
20
  #
21
21
  module Faraday
22
- VERSION = '0.16.1'
22
+ VERSION = '0.16.2'
23
23
  METHODS_WITH_QUERY = %w[get head delete connect trace].freeze
24
24
  METHODS_WITH_BODY = %w[post put patch].freeze
25
25
 
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faraday
4
+ # @param old_klass [String] Old Namespaced Class
5
+ # @param new_klass [Class] New Class that the caller should use instead
6
+ #
7
+ # @return [Class] A modified version of new_klass that warns on
8
+ # usage about deprecation.
9
+ module DeprecatedClass
10
+ def self.proxy_class(old_klass, new_klass)
11
+ Class.new(new_klass).tap do |k|
12
+ k.send(:define_method, :initialize) do |*args, &block|
13
+ @old_klass = old_klass
14
+ @new_klass = new_klass
15
+ warn
16
+ super(*args, &block)
17
+ end
18
+
19
+ k.send(:define_method, :warn) do
20
+ puts(
21
+ "DEPRECATION WARNING: #{@old_klass} is deprecated! " \
22
+ "Use #{@new_klass} instead."
23
+ )
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'faraday/deprecated_constant'
3
+ require 'faraday/deprecated_class'
4
4
 
5
5
  # Faraday namespace.
6
6
  module Faraday
@@ -105,7 +105,7 @@ module Faraday
105
105
  ParsingError TimeoutError SSLError RetriableResponse].each do |const|
106
106
  Error.const_set(
107
107
  const,
108
- Faraday::DeprecatedConstant.new(
108
+ Faraday::DeprecatedClass.proxy_class(
109
109
  "Faraday::Error::#{const}",
110
110
  Faraday.const_get(const)
111
111
  )
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.16.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rick Olson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-27 00:00:00.000000000 Z
11
+ date: 2019-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multipart-post
@@ -56,7 +56,7 @@ files:
56
56
  - lib/faraday/autoload.rb
57
57
  - lib/faraday/connection.rb
58
58
  - lib/faraday/dependency_loader.rb
59
- - lib/faraday/deprecated_constant.rb
59
+ - lib/faraday/deprecated_class.rb
60
60
  - lib/faraday/encoders/flat_params_encoder.rb
61
61
  - lib/faraday/encoders/nested_params_encoder.rb
62
62
  - lib/faraday/error.rb
@@ -108,8 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubyforge_project:
112
- rubygems_version: 2.7.6.2
111
+ rubygems_version: 3.0.6
113
112
  signing_key:
114
113
  specification_version: 4
115
114
  summary: HTTP/REST API client library.
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Faraday
4
- # Allows for the deprecation of constants between versions of Faraday
5
- #
6
- # rubocop:disable Style/MethodMissingSuper, Style/MissingRespondToMissing
7
- class DeprecatedConstant < Module
8
- def self.new(*args, &block)
9
- object = args.first
10
- return object unless object
11
-
12
- super
13
- end
14
-
15
- def initialize(old_const, new_const)
16
- @old_const = old_const
17
- @new_const = new_const
18
- end
19
-
20
- # TODO: use match? once Faraday drops Ruby 2.3 support
21
- instance_methods.each do |method_name|
22
- undef_method method_name if /^__|^object_id$/.match(method_name).nil?
23
- end
24
-
25
- def inspect
26
- @new_const.inspect
27
- end
28
-
29
- def class
30
- @new_const.class
31
- end
32
-
33
- private
34
-
35
- def const_missing(name)
36
- warn
37
- @new_const.const_get(name)
38
- end
39
-
40
- def method_missing(method_name, *args, &block)
41
- warn
42
- @new_const.__send__(method_name, *args, &block)
43
- end
44
-
45
- def warn
46
- puts(
47
- "DEPRECATION WARNING: #{@old_const} is deprecated! " \
48
- "Use #{@new_const} instead."
49
- )
50
- end
51
- end
52
- # rubocop:enable Style/MethodMissingSuper, Style/MissingRespondToMissing
53
- end