httpigeon 2.2.0 → 2.3.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: fb08778292f9e4ec48be0c011bb0f1052ed0b9f1a545f3e12b01cc0230edc417
4
- data.tar.gz: 5345b29ff264cf7e6717dc93d39a3afc3569388da9644d6babb21c67c817b2d2
3
+ metadata.gz: 687076ba8fc193d290ae5bc527269a48e8f7a407e6c8f47007c1408a42a9c604
4
+ data.tar.gz: 1440197153f6fab85582117e97436694ff086df7b22c3c636ddec88f1cfa168b
5
5
  SHA512:
6
- metadata.gz: 3cd0f88eec378aafb85ae799aa070242e7c0caddd26cf21feaa01c50048f65c32e6c904734bf0994812b40e400e4e0e951b2c899f1991b28d3fc89b5aab4e1ee
7
- data.tar.gz: 8a1dc3e68162de054e829e488f926a33848c77f63d6c7ea6f47b61f1c13f1d9aea928515c4c2856950ea398f94c55563e75502d03f80f5f6b6fefd876975d18d
6
+ metadata.gz: ee09ec237262bbca31f0c834fb64856cffd5624cff5ac6153e96e31bef75ac307376cb1dc7be4ca90bf9136cb6d200025e3c965d48e3b005ab54965c5644a344
7
+ data.tar.gz: 8c584ec73859acfb7b8673e685a0721fd71fd305dbd3076a93dc9c633f0a716d3652c49ee828e6b7a81ea4ea83538b44f19b169b38ef56c0f510ab74a4e91096
data/.rubocop.yml CHANGED
@@ -178,7 +178,7 @@ RSpec/MultipleMemoizedHelpers:
178
178
  RSpec/NestedGroups:
179
179
  Max: 5
180
180
 
181
- RSpec/FilePath:
181
+ RSpec/SpecFilePathSuffix:
182
182
  Exclude:
183
183
  - spec/httpigeon/**/*.rb
184
184
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.3.0](https://github.com/dailypay/httpigeon/compare/v2.2.0...v2.3.0) (2024-07-11)
4
+
5
+
6
+ ### Features
7
+
8
+ * add and fix put and delete methods ([#41](https://github.com/dailypay/httpigeon/issues/41)) ([1d9e9b0](https://github.com/dailypay/httpigeon/commit/1d9e9b0585d56c9785efa97e5a743cdcbd179884))
9
+ * Use enumarable for collection delegation ([8fc143a](https://github.com/dailypay/httpigeon/commit/8fc143a8717aebdd072bd48dceccc34a318657b7))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * Delegate :map to parsed response ([#39](https://github.com/dailypay/httpigeon/issues/39)) ([59b77e8](https://github.com/dailypay/httpigeon/commit/59b77e821a1356884cb7c426fe433229aa1bdfcc))
15
+
3
16
  ## [2.2.0](https://github.com/dailypay/httpigeon/compare/v2.1.0...v2.2.0) (2024-05-17)
4
17
 
5
18
 
data/httpigeon.gemspec CHANGED
@@ -33,8 +33,8 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency "rake", "~> 13.0"
34
34
  spec.add_development_dependency "rspec", "~> 3.4"
35
35
  spec.add_development_dependency "simplecov"
36
- spec.add_development_dependency "rubocop", "~> 1.21"
37
- spec.add_development_dependency "rubocop-rspec", "~> 2.24"
36
+ spec.add_development_dependency "rubocop", "~> 1.65"
37
+ spec.add_development_dependency "rubocop-rspec", "~> 3.0"
38
38
  spec.add_development_dependency "pry", "~> 0.13.1"
39
39
  spec.add_development_dependency "timecop", "~> 0.9.8"
40
40
 
@@ -22,6 +22,20 @@ module HTTPigeon
22
22
  yield(req) if block_given?
23
23
  end
24
24
  end
25
+
26
+ def put(endpoint, payload, headers = {}, event_type = nil, log_filters = [])
27
+ request = new(base_url: endpoint, headers: headers, event_type: event_type, log_filters: log_filters)
28
+ request.run(method: :put, path: '', payload: payload) do |req|
29
+ yield(req) if block_given?
30
+ end
31
+ end
32
+
33
+ def delete(endpoint, query = {}, headers = {}, event_type = nil, log_filters = [])
34
+ request = new(base_url: endpoint, headers: headers, event_type: event_type, log_filters: log_filters)
35
+ request.run(method: :delete, path: '', payload: query) do |req|
36
+ yield(req) if block_given?
37
+ end
38
+ end
25
39
  end
26
40
 
27
41
  attr_reader :connection, :response, :parsed_response, :base_url, :fuse
@@ -56,7 +70,7 @@ module HTTPigeon
56
70
  end
57
71
 
58
72
  def run(method: :get, path: '/', payload: {})
59
- unless method.to_sym == :get
73
+ unless method.to_sym == :get || method.to_sym == :delete
60
74
  payload = payload.presence&.to_json
61
75
  connection.headers['Content-Type'] = 'application/json'
62
76
  end
@@ -1,8 +1,10 @@
1
1
  module HTTPigeon
2
2
  class Response
3
+ include Enumerable
4
+
3
5
  attr_reader :request, :parsed_response, :raw_response
4
6
 
5
- delegate :to_h, :to_json, :with_indifferent_access, to: :parsed_response
7
+ delegate :each, :to_h, :to_json, :with_indifferent_access, to: :parsed_response
6
8
  delegate :status, :body, :env, to: :raw_response
7
9
 
8
10
  def initialize(request, raw_response)
@@ -1,3 +1,3 @@
1
1
  module HTTPigeon
2
- VERSION = "2.2.0".freeze
2
+ VERSION = "2.3.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpigeon
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - 2k-joker
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-17 00:00:00.000000000 Z
11
+ date: 2024-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -86,28 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.21'
89
+ version: '1.65'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.21'
96
+ version: '1.65'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rubocop-rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.24'
103
+ version: '3.0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '2.24'
110
+ version: '3.0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: pry
113
113
  requirement: !ruby/object:Gem::Requirement