cloudflare-rails 2.0.0 → 2.2.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 +4 -4
- data/.circleci/config.yml +6 -1
- data/Appraisals +4 -8
- data/CHANGELOG.md +11 -1
- data/Gemfile +4 -0
- data/README.md +5 -1
- data/cloudflare-rails.gemspec +6 -7
- data/gemfiles/rails_5.2.gemfile +4 -0
- data/gemfiles/rails_6.0.gemfile +4 -0
- data/gemfiles/rails_6.1.gemfile +4 -0
- data/gemfiles/rails_7.0.gemfile +11 -0
- data/lib/cloudflare/rails.rb +2 -1
- data/lib/cloudflare/rails/railtie.rb +28 -9
- data/lib/cloudflare/rails/version.rb +1 -1
- metadata +22 -37
- data/gemfiles/rails_5.0.gemfile +0 -7
- data/gemfiles/rails_5.1.gemfile +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 84dc9aec556073a4d870a4784e841e63f8a047ade776f55646617d90ae57a350
|
|
4
|
+
data.tar.gz: b2d3411fae45afc2e4f9586dc3c9fddd966c2dab028fdef278a2e57e2fb11cca
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 77da9de7361192e828223e3ee2da7213e8f502971b2bb503f8454e14210233bbabab107dce472d8477b0ef123bb389a8fc31b07fe0bc54d41ccbd5f0312fd474
|
|
7
|
+
data.tar.gz: 5581a9d55303a8ec303e2e95497d87c20a973ae451f0a38bee98310dffb0d5b408d43b773808c7258acd7ad2c7a657638e874fb67a1d2c1df2bafd54a910eb72
|
data/.circleci/config.yml
CHANGED
|
@@ -7,7 +7,7 @@ jobs:
|
|
|
7
7
|
build:
|
|
8
8
|
docker:
|
|
9
9
|
# specify the version you desire here
|
|
10
|
-
- image: circleci/ruby:2.7.
|
|
10
|
+
- image: circleci/ruby:2.7.3
|
|
11
11
|
|
|
12
12
|
working_directory: ~/repo
|
|
13
13
|
|
|
@@ -21,6 +21,11 @@ jobs:
|
|
|
21
21
|
# fallback to using the latest cache if no exact match is found
|
|
22
22
|
- v1-dependencies-
|
|
23
23
|
|
|
24
|
+
- run:
|
|
25
|
+
name: install bundler
|
|
26
|
+
command: |
|
|
27
|
+
gem install bundler -v $(grep bundler cloudflare-rails.gemspec |awk {'print $4'}|sed 's/"//g')
|
|
28
|
+
|
|
24
29
|
- run:
|
|
25
30
|
name: install dependencies
|
|
26
31
|
command: |
|
data/Appraisals
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
appraise "rails-5.0" do
|
|
2
|
-
gem "rails", "~> 5.0.0"
|
|
3
|
-
end
|
|
4
|
-
|
|
5
|
-
appraise "rails-5.1" do
|
|
6
|
-
gem "rails", "~> 5.1.0"
|
|
7
|
-
end
|
|
8
|
-
|
|
9
1
|
appraise "rails-5.2" do
|
|
10
2
|
gem "rails", "~> 5.2.0"
|
|
11
3
|
end
|
|
@@ -17,3 +9,7 @@ end
|
|
|
17
9
|
appraise "rails-6.1" do
|
|
18
10
|
gem "rails", "~> 6.1.0"
|
|
19
11
|
end
|
|
12
|
+
|
|
13
|
+
appraise "rails-7.0" do
|
|
14
|
+
gem "rails", git: "https://github.com/rails/rails", branch: "main"
|
|
15
|
+
end
|
data/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,17 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## [
|
|
7
|
+
## [2.2.0] - 2021-06-11
|
|
8
|
+
- Fix typo in `actionpack` dependency
|
|
9
|
+
|
|
10
|
+
## [2.1.0] - 2021-06-11
|
|
11
|
+
### Breaking Changes
|
|
12
|
+
- Drop support for unsupported `rails` versions (`5.0.x` and `5.1.x`)
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- use Net::HTTP instead of httparty ([pr](https://github.com/modosc/cloudflare-rails/pull/44))
|
|
16
|
+
- Add `rails 7.0.0.alpha` support
|
|
17
|
+
|
|
8
18
|
## [2.0.0] - 2021-02-17
|
|
9
19
|
### Breaking Changes
|
|
10
20
|
- Removed broad dependency on `rails`, replaced with explicit dependencies for `railties`, `activesupport`, and `actionpack` ( [issue](https://github.com/modosc/cloudflare-rails/issues/34) and [pr](https://github.com/modosc/cloudflare-rails/pull/35))
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -3,7 +3,11 @@ This gem correctly configures Rails for [CloudFlare](https://www.cloudflare.com)
|
|
|
3
3
|
|
|
4
4
|
## Rails Compatibility
|
|
5
5
|
|
|
6
|
-
This gem requires `railties`, `activesupport`, and `actionpack` >= 5.
|
|
6
|
+
This gem requires `railties`, `activesupport`, and `actionpack` >= `5.2`.
|
|
7
|
+
|
|
8
|
+
For Rails `5.0` and `5.1` use `2.0.0`.
|
|
9
|
+
|
|
10
|
+
For Rails `4.2` use `0.1.x`.
|
|
7
11
|
|
|
8
12
|
## Installation
|
|
9
13
|
|
data/cloudflare-rails.gemspec
CHANGED
|
@@ -20,21 +20,20 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
21
|
spec.require_paths = ["lib"]
|
|
22
22
|
|
|
23
|
-
spec.add_development_dependency "bundler", "
|
|
23
|
+
spec.add_development_dependency "bundler", ">= 2.1.2"
|
|
24
24
|
spec.add_development_dependency "rake", "~> 13.0.1"
|
|
25
25
|
spec.add_development_dependency "rspec_junit_formatter", "~> 0.4.1"
|
|
26
|
-
spec.add_development_dependency "rspec-rails", "~>
|
|
26
|
+
spec.add_development_dependency "rspec-rails", "~> 5.0.1"
|
|
27
27
|
spec.add_development_dependency "rspec", "~> 3.10.0"
|
|
28
28
|
spec.add_development_dependency "rubocop-airbnb", "~> 3.0.2"
|
|
29
|
-
spec.add_development_dependency "webmock", "~> 3.
|
|
29
|
+
spec.add_development_dependency "webmock", "~> 3.13.0"
|
|
30
30
|
spec.add_development_dependency "rack-attack", "~> 6.5.0"
|
|
31
31
|
spec.add_development_dependency "pry-byebug"
|
|
32
32
|
spec.add_development_dependency "appraisal"
|
|
33
33
|
|
|
34
|
-
spec.add_dependency "
|
|
35
|
-
spec.add_dependency "
|
|
36
|
-
spec.add_dependency "
|
|
37
|
-
spec.add_dependency "actionpack", ">= 5.0", "< 6.2.0"
|
|
34
|
+
spec.add_dependency "railties", ">= 5.2", "< 7.1.0"
|
|
35
|
+
spec.add_dependency "activesupport", ">= 5.2", "< 7.1.0"
|
|
36
|
+
spec.add_dependency "actionpack", ">= 5.2", "< 7.1.0"
|
|
38
37
|
|
|
39
38
|
# we need Module#prepend
|
|
40
39
|
spec.required_ruby_version = '>= 2.0'
|
data/gemfiles/rails_5.2.gemfile
CHANGED
data/gemfiles/rails_6.0.gemfile
CHANGED
data/gemfiles/rails_6.1.gemfile
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# This file was generated by Appraisal
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
gem "rails", git: "https://github.com/rails/rails", branch: "main"
|
|
6
|
+
|
|
7
|
+
group :development do
|
|
8
|
+
gem "rspec-isolation", git: "https://github.com/modosc/rspec-isolation"
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
gemspec path: "../"
|
data/lib/cloudflare/rails.rb
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
require "active_support/core_ext/integer/time"
|
|
2
|
-
require "httparty"
|
|
3
2
|
|
|
4
3
|
module Cloudflare
|
|
5
4
|
module Rails
|
|
@@ -21,13 +20,23 @@ module Cloudflare
|
|
|
21
20
|
end
|
|
22
21
|
|
|
23
22
|
class Importer
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
# Exceptions contain the Net::HTTP
|
|
24
|
+
# response object accessible via the {#response} method.
|
|
25
|
+
class ResponseError < StandardError
|
|
26
|
+
# Returns the response of the last request
|
|
27
|
+
# @return [Net::HTTPResponse] A subclass of Net::HTTPResponse, e.g.
|
|
28
|
+
# Net::HTTPOK
|
|
29
|
+
attr_reader :response
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
# Instantiate an instance of ResponseError with a Net::HTTPResponse object
|
|
32
|
+
# @param [Net::HTTPResponse]
|
|
33
|
+
def initialize(response)
|
|
34
|
+
@response = response
|
|
35
|
+
super(response)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
30
38
|
|
|
39
|
+
BASE_URL = 'https://www.cloudflare.com'.freeze
|
|
31
40
|
IPS_V4_URL = '/ips-v4'.freeze
|
|
32
41
|
IPS_V6_URL = '/ips-v6'.freeze
|
|
33
42
|
|
|
@@ -41,11 +50,21 @@ module Cloudflare
|
|
|
41
50
|
end
|
|
42
51
|
|
|
43
52
|
def fetch(url)
|
|
44
|
-
|
|
45
|
-
|
|
53
|
+
uri = URI("#{BASE_URL}#{url}")
|
|
54
|
+
|
|
55
|
+
resp = Net::HTTP.start(uri.host,
|
|
56
|
+
uri.port,
|
|
57
|
+
use_ssl: true,
|
|
58
|
+
read_timeout: ::Rails.application.config.cloudflare.timeout) do |http|
|
|
59
|
+
req = Net::HTTP::Get.new(uri)
|
|
60
|
+
|
|
61
|
+
http.request(req)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
if resp.is_a?(Net::HTTPSuccess)
|
|
46
65
|
resp.body.split("\n").reject(&:blank?).map { |ip| IPAddr.new ip }
|
|
47
66
|
else
|
|
48
|
-
raise ResponseError, resp
|
|
67
|
+
raise ResponseError, resp
|
|
49
68
|
end
|
|
50
69
|
end
|
|
51
70
|
|
metadata
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cloudflare-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- jonathan schatz
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-06-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: 2.1.2
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
|
-
- - "
|
|
24
|
+
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: 2.1.2
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
@@ -58,14 +58,14 @@ dependencies:
|
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
61
|
+
version: 5.0.1
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
68
|
+
version: 5.0.1
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: rspec
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -100,14 +100,14 @@ dependencies:
|
|
|
100
100
|
requirements:
|
|
101
101
|
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: 3.
|
|
103
|
+
version: 3.13.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: 3.
|
|
110
|
+
version: 3.13.0
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: rack-attack
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -150,80 +150,66 @@ dependencies:
|
|
|
150
150
|
- - ">="
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
152
|
version: '0'
|
|
153
|
-
- !ruby/object:Gem::Dependency
|
|
154
|
-
name: httparty
|
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
|
156
|
-
requirements:
|
|
157
|
-
- - ">="
|
|
158
|
-
- !ruby/object:Gem::Version
|
|
159
|
-
version: '0'
|
|
160
|
-
type: :runtime
|
|
161
|
-
prerelease: false
|
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
-
requirements:
|
|
164
|
-
- - ">="
|
|
165
|
-
- !ruby/object:Gem::Version
|
|
166
|
-
version: '0'
|
|
167
153
|
- !ruby/object:Gem::Dependency
|
|
168
154
|
name: railties
|
|
169
155
|
requirement: !ruby/object:Gem::Requirement
|
|
170
156
|
requirements:
|
|
171
157
|
- - ">="
|
|
172
158
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '5.
|
|
159
|
+
version: '5.2'
|
|
174
160
|
- - "<"
|
|
175
161
|
- !ruby/object:Gem::Version
|
|
176
|
-
version:
|
|
162
|
+
version: 7.1.0
|
|
177
163
|
type: :runtime
|
|
178
164
|
prerelease: false
|
|
179
165
|
version_requirements: !ruby/object:Gem::Requirement
|
|
180
166
|
requirements:
|
|
181
167
|
- - ">="
|
|
182
168
|
- !ruby/object:Gem::Version
|
|
183
|
-
version: '5.
|
|
169
|
+
version: '5.2'
|
|
184
170
|
- - "<"
|
|
185
171
|
- !ruby/object:Gem::Version
|
|
186
|
-
version:
|
|
172
|
+
version: 7.1.0
|
|
187
173
|
- !ruby/object:Gem::Dependency
|
|
188
174
|
name: activesupport
|
|
189
175
|
requirement: !ruby/object:Gem::Requirement
|
|
190
176
|
requirements:
|
|
191
177
|
- - ">="
|
|
192
178
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '5.
|
|
179
|
+
version: '5.2'
|
|
194
180
|
- - "<"
|
|
195
181
|
- !ruby/object:Gem::Version
|
|
196
|
-
version:
|
|
182
|
+
version: 7.1.0
|
|
197
183
|
type: :runtime
|
|
198
184
|
prerelease: false
|
|
199
185
|
version_requirements: !ruby/object:Gem::Requirement
|
|
200
186
|
requirements:
|
|
201
187
|
- - ">="
|
|
202
188
|
- !ruby/object:Gem::Version
|
|
203
|
-
version: '5.
|
|
189
|
+
version: '5.2'
|
|
204
190
|
- - "<"
|
|
205
191
|
- !ruby/object:Gem::Version
|
|
206
|
-
version:
|
|
192
|
+
version: 7.1.0
|
|
207
193
|
- !ruby/object:Gem::Dependency
|
|
208
194
|
name: actionpack
|
|
209
195
|
requirement: !ruby/object:Gem::Requirement
|
|
210
196
|
requirements:
|
|
211
197
|
- - ">="
|
|
212
198
|
- !ruby/object:Gem::Version
|
|
213
|
-
version: '5.
|
|
199
|
+
version: '5.2'
|
|
214
200
|
- - "<"
|
|
215
201
|
- !ruby/object:Gem::Version
|
|
216
|
-
version:
|
|
202
|
+
version: 7.1.0
|
|
217
203
|
type: :runtime
|
|
218
204
|
prerelease: false
|
|
219
205
|
version_requirements: !ruby/object:Gem::Requirement
|
|
220
206
|
requirements:
|
|
221
207
|
- - ">="
|
|
222
208
|
- !ruby/object:Gem::Version
|
|
223
|
-
version: '5.
|
|
209
|
+
version: '5.2'
|
|
224
210
|
- - "<"
|
|
225
211
|
- !ruby/object:Gem::Version
|
|
226
|
-
version:
|
|
212
|
+
version: 7.1.0
|
|
227
213
|
description: ''
|
|
228
214
|
email:
|
|
229
215
|
- modosc@users.noreply.github.com
|
|
@@ -249,11 +235,10 @@ files:
|
|
|
249
235
|
- bin/setup
|
|
250
236
|
- cloudflare-rails.gemspec
|
|
251
237
|
- gemfiles/.bundle/config
|
|
252
|
-
- gemfiles/rails_5.0.gemfile
|
|
253
|
-
- gemfiles/rails_5.1.gemfile
|
|
254
238
|
- gemfiles/rails_5.2.gemfile
|
|
255
239
|
- gemfiles/rails_6.0.gemfile
|
|
256
240
|
- gemfiles/rails_6.1.gemfile
|
|
241
|
+
- gemfiles/rails_7.0.gemfile
|
|
257
242
|
- lib/cloudflare/rails.rb
|
|
258
243
|
- lib/cloudflare/rails/railtie.rb
|
|
259
244
|
- lib/cloudflare/rails/version.rb
|
|
@@ -276,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
276
261
|
- !ruby/object:Gem::Version
|
|
277
262
|
version: '0'
|
|
278
263
|
requirements: []
|
|
279
|
-
rubygems_version: 3.
|
|
264
|
+
rubygems_version: 3.2.18
|
|
280
265
|
signing_key:
|
|
281
266
|
specification_version: 4
|
|
282
267
|
summary: This gem configures Rails for CloudFlare so that request.ip and request.remote_ip
|
data/gemfiles/rails_5.0.gemfile
DELETED