http_wrapper 3.0.0 → 4.0.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: 6b8cafac3f93ee092cd47ba4c265369937d998919ac06172436764ec448bbe9a
4
- data.tar.gz: 49bf3caf2c4791f3af3ed9b360f014ff674816687acc18c60cc53194eac85bd3
3
+ metadata.gz: f43f24bf357f46eae6cd156c3286e1793c02bccb18cbe348fc9abd2c7ddfa8c8
4
+ data.tar.gz: 94394a79f926ef8612eb75be5eba1010bb4f84e433f2c9718d6f39796e6c347b
5
5
  SHA512:
6
- metadata.gz: 81ad733418da9109bd1a38891325797b278572e5c889d05bbcc20239f6a33d03f72986ac4cd1c0ab7cf23dd5edc7ac3495f79f81721c04f77722b20a48d0c512
7
- data.tar.gz: 145bb14e27b4725019b7289c8577b71b4c21eb770a41e9608ad7bfae6eb2b2a62dfe88c1b657047d18f2b6442210501e0be8279930d9b404efd753dc2b2048ee
6
+ metadata.gz: bb72bc3f5b5f9646127f3b1c33e8315a2e0ffdab80cb708f645f82581ec13adbc298f128e0dedd4755a604f55483e372cdabf71b124bcacda7c9dd06f3a8954e
7
+ data.tar.gz: 12288e5e5cecd47aeb7159e624660988c3604d5f6e214ed5f2d20f0affb9d93ed1ce3fc2293aa9fd52d0148eaed2cd216bf22a04bc4a62cd5b05ac544925ad37
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## v4.0.0
4
+
5
+ * dropped support for Ruby 2.3 and 2.4
6
+ * added Ruby 2.7 to the TravisCI config
7
+ * rubocop-performance gem added
8
+ * rubocop rake task added to the default rake task
9
+ * all development dependencies updated
10
+
3
11
  ## v3.0.0
4
12
 
5
13
  * dropped support for Ruby 1.9-2.2 and Rubinius
data/README.md CHANGED
@@ -1,12 +1,15 @@
1
1
  # http_wrapper
2
2
 
3
- Simple wrapper around standard Net::HTTP library
4
-
5
3
  [![Gem Version](https://badge.fury.io/rb/http_wrapper.svg)](https://badge.fury.io/rb/http_wrapper)
6
4
  [![Build Status](https://travis-ci.org/svyatov/http_wrapper.svg?branch=master)](https://travis-ci.org/svyatov/http_wrapper)
5
+ [![Depfu](https://badges.depfu.com/badges/772e76ac2a71ed84291f452cd0e04b83/overview.svg)](https://depfu.com/github/svyatov/http_wrapper?project_id=6879)
7
6
  [![Maintainability](https://api.codeclimate.com/v1/badges/41f8e8c507907ea20e2b/maintainability)](https://codeclimate.com/github/svyatov/http_wrapper/maintainability)
8
7
  [![Test Coverage](https://api.codeclimate.com/v1/badges/41f8e8c507907ea20e2b/test_coverage)](https://codeclimate.com/github/svyatov/http_wrapper/test_coverage)
9
8
 
9
+ A simple wrapper around standard Ruby Net::HTTP library.
10
+
11
+ If you need something more fully-featured you should use absolutely awesome [HTTP](https://github.com/httprb/http) gem. ([Why?](https://twin.github.io/httprb-is-great/))
12
+
10
13
  ---
11
14
 
12
15
  ## Installation
@@ -14,7 +17,7 @@ Simple wrapper around standard Net::HTTP library
14
17
  Add this line to your Gemfile:
15
18
 
16
19
  ```ruby
17
- gem 'http_wrapper', '~> 3.0'
20
+ gem 'http_wrapper', '~> 4.0'
18
21
  ```
19
22
 
20
23
  And then execute:
@@ -94,9 +97,9 @@ Add special header or use special method:
94
97
  ```ruby
95
98
  response = http.get_ajax some_url
96
99
  # - or -
97
- response = http.get some_url, headers: {x_requested_with: 'XMLHttpRequest'}
100
+ response = http.get some_url, headers: { x_requested_with: 'XMLHttpRequest' }
98
101
  # - or -
99
- response = http.get some_url, headers: {'X-Requested-With' => 'XMLHttpRequest'}
102
+ response = http.get some_url, headers: { 'X-Requested-With' => 'XMLHttpRequest' }
100
103
  ```
101
104
 
102
105
  ### Access JSON resource
@@ -108,9 +111,9 @@ response = http.get_json some_url
108
111
  # - or -
109
112
  response = http.get some_url, content_type: 'application/json; charset=UTF-8'
110
113
  # - or -
111
- response = http.get some_url, headers: {content_type: 'application/json; charset=UTF-8'}
114
+ response = http.get some_url, headers: { content_type: 'application/json; charset=UTF-8' }
112
115
  # - or -
113
- response = http.get some_url, headers: {'Content-Type' => 'application/json; charset=UTF-8'}
116
+ response = http.get some_url, headers: { 'Content-Type' => 'application/json; charset=UTF-8' }
114
117
  ```
115
118
 
116
119
  ### Access JSON resource mimicing AJAX
@@ -134,14 +137,14 @@ response = http.get_json_ajax some_url, some_params
134
137
  Don't worry about escaping, `http_wrapper` got you covered here either.
135
138
 
136
139
  ```ruby
137
- response = http.get 'http://www.google.com', query: {message: 'Hi! M&Ms!', user: 'iamjohn'}
140
+ response = http.get 'http://www.google.com', query: { message: 'Hi! M&Ms!', user: 'iamjohn' }
138
141
  # => http://www.google.com/?message=Hi!%20M%26Ms!&user=iamjohn
139
142
  ```
140
143
 
141
144
  Don't worry about parameters that already in URL, they'll be merged.
142
145
 
143
146
  ```ruby
144
- response = http.get 'http://www.google.com/?q=test', query: {user: 'iamjohn'}
147
+ response = http.get 'http://www.google.com/?q=test', query: { user: 'iamjohn' }
145
148
  # => http://www.google.com/?q=test&user=iamjohn
146
149
  ```
147
150
 
@@ -153,8 +156,8 @@ You can easily upload any number of files with `multipart/form-data` content typ
153
156
  http = HTTPWrapper.new
154
157
  params = {
155
158
  multipart: [
156
- # ['file input field name', 'File instance or string', {filename: 'itsfile.jpg', content_type: '...'}]
157
- ['user_photo', File.read('user_photo.jpg'), {filename: 'photo.jpg'}],
159
+ # ['file input field name', 'File instance or string', { filename: 'itsfile.jpg', content_type: '...' }]
160
+ ['user_photo', File.read('user_photo.jpg'), { filename: 'photo.jpg' }],
158
161
  # last element is optional
159
162
  ['user_pic', File.open('user_pic.jpg')],
160
163
  # you can also specify other parameters
@@ -208,11 +211,11 @@ http = HTTPWrapper.new verify_cert: false
208
211
  On each `get` method there are `post`, `put` and `delete` methods. Examples:
209
212
 
210
213
  ```ruby
211
- http.post some_url, body: {user: 'iamjohn', password: 'secret'}
214
+ http.post some_url, body: { user: 'iamjohn', password: 'secret' }
212
215
  # - or -
213
- http.put some_url, body: {user: 'iamjohn', password: 'secret'}
216
+ http.put some_url, body: { user: 'iamjohn', password: 'secret' }
214
217
  # - or -
215
- http.delete some_url, query: {user: 'iamjohn'}
218
+ http.delete some_url, query: { user: 'iamjohn' }
216
219
  ```
217
220
 
218
221
  Default content type header for these requests is `application/x-www-form-urlencoded; charset=UTF-8`.
@@ -298,9 +301,9 @@ http.execute request, uri
298
301
  # you can use File object
299
302
  ['file_input_name', File.open('somefile.ext')],
300
303
  # - or - string and specify filename
301
- ['file_input_name', File.read('somefile.ext'), {filename: 'readme.txt'}],
304
+ ['file_input_name', File.read('somefile.ext'), { filename: 'readme.txt' }],
302
305
  # - or - full format
303
- ['file_input_name', 'some file content', {filename: 'readme.txt', content_type: 'text/text'}],
306
+ ['file_input_name', 'some file content', { filename: 'readme.txt', content_type: 'text/text' }],
304
307
  # - or - add other simple parameters
305
308
  ['user_name', 'john smith']
306
309
  ]
data/Rakefile CHANGED
@@ -2,7 +2,10 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rspec/core/rake_task'
5
+ require 'rubocop/rake_task'
6
+
7
+ RuboCop::RakeTask.new
5
8
 
6
9
  RSpec::Core::RakeTask.new(:spec)
7
10
 
8
- task default: :spec
11
+ task default: %i[rubocop spec]
@@ -32,7 +32,7 @@ class HTTPWrapper
32
32
  attr_reader :uri
33
33
 
34
34
  def uri=(url)
35
- url = "http://#{url}" unless url =~ %r{\Ahttps?://}
35
+ url = "http://#{url}" unless %r{\Ahttps?://}.match?(url)
36
36
  @uri = URI.parse url
37
37
  end
38
38
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class HTTPWrapper
4
- VERSION = '3.0.0'
4
+ VERSION = '4.0.0'
5
5
  end
@@ -65,7 +65,7 @@ RSpec.describe HTTPWrapper do
65
65
  WebMock.allow_net_connect!
66
66
  begin
67
67
  http.get 'localhost'
68
- rescue StandardError # rubocop:disable Lint/HandleExceptions
68
+ rescue StandardError # rubocop:disable Lint/SuppressedException
69
69
  # NOOP, rescue from "connection refused" and such
70
70
  end
71
71
  WebMock.disable_net_connect!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonid Svyatov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-02-03 00:00:00.000000000 Z
12
+ date: 2020-03-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -45,70 +45,84 @@ dependencies:
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '3.7'
48
+ version: '3.9'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '3.7'
55
+ version: '3.9'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rubocop
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 0.63.1
62
+ version: '0.80'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: 0.63.1
69
+ version: '0.80'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rubocop-performance
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.5'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.5'
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: rubocop-rspec
72
86
  requirement: !ruby/object:Gem::Requirement
73
87
  requirements:
74
88
  - - "~>"
75
89
  - !ruby/object:Gem::Version
76
- version: '1.32'
90
+ version: '1.38'
77
91
  type: :development
78
92
  prerelease: false
79
93
  version_requirements: !ruby/object:Gem::Requirement
80
94
  requirements:
81
95
  - - "~>"
82
96
  - !ruby/object:Gem::Version
83
- version: '1.32'
97
+ version: '1.38'
84
98
  - !ruby/object:Gem::Dependency
85
99
  name: simplecov
86
100
  requirement: !ruby/object:Gem::Requirement
87
101
  requirements:
88
102
  - - "~>"
89
103
  - !ruby/object:Gem::Version
90
- version: 0.16.1
104
+ version: '0.18'
91
105
  type: :development
92
106
  prerelease: false
93
107
  version_requirements: !ruby/object:Gem::Requirement
94
108
  requirements:
95
109
  - - "~>"
96
110
  - !ruby/object:Gem::Version
97
- version: 0.16.1
111
+ version: '0.18'
98
112
  - !ruby/object:Gem::Dependency
99
113
  name: webmock
100
114
  requirement: !ruby/object:Gem::Requirement
101
115
  requirements:
102
116
  - - "~>"
103
117
  - !ruby/object:Gem::Version
104
- version: '3.5'
118
+ version: '3.8'
105
119
  type: :development
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
108
122
  requirements:
109
123
  - - "~>"
110
124
  - !ruby/object:Gem::Version
111
- version: '3.5'
125
+ version: '3.8'
112
126
  description: Simple wrapper around standard Net::HTTP library with multipart/form-data
113
127
  file upload ability
114
128
  email: leonid@svyatov.ru
@@ -142,14 +156,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - ">="
144
158
  - !ruby/object:Gem::Version
145
- version: 2.3.0
159
+ version: 2.5.0
146
160
  required_rubygems_version: !ruby/object:Gem::Requirement
147
161
  requirements:
148
162
  - - ">="
149
163
  - !ruby/object:Gem::Version
150
164
  version: '0'
151
165
  requirements: []
152
- rubygems_version: 3.0.2
166
+ rubygems_version: 3.1.2
153
167
  signing_key:
154
168
  specification_version: 4
155
169
  summary: Simple wrapper around standard Net::HTTP library