dns_mock 1.3.1 → 1.4.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/.reek.yml +7 -1
- data/CHANGELOG.md +80 -13
- data/Gemfile.lock +7 -6
- data/README.md +5 -4
- data/dns_mock.gemspec +4 -2
- data/lib/dns_mock/core.rb +5 -0
- data/lib/dns_mock/record/factory/base.rb +8 -3
- data/lib/dns_mock/representer/punycode.rb +15 -0
- data/lib/dns_mock/representer/rdns_lookup.rb +17 -0
- data/lib/dns_mock/server/records_dictionary_builder.rb +12 -10
- data/lib/dns_mock/version.rb +1 -1
- metadata +22 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 030004dfb97793bf507c84fbd56965bd5af1aa3c9652db58c20d40ec1467936f
|
4
|
+
data.tar.gz: b4b0d01e9750ac32c4f1577542a668393abb8780615930263765acbb810854a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e3a43b5a4519bca6e4909d8632081cac6699f57a5090223d97bbf95b32be684f8cb1437cf0ce64080a3476d787a874eb028e2416566d041dfba8211cb41ba60
|
7
|
+
data.tar.gz: 259b19d489e11ed66e4b9aa4e5aa55f88913edeb66ed5e767c378940c00bcc934dde3842eeaf5b2ee88456c69e221fd4d9d91ef28ac2fc6a2bfada0f05188e48
|
data/.reek.yml
CHANGED
@@ -17,17 +17,23 @@ detectors:
|
|
17
17
|
- DnsMock::ContextGeneratorHelper#random_ip_v4_address
|
18
18
|
- DnsMock::ContextGeneratorHelper#random_ip_v6_address
|
19
19
|
- DnsMock::ContextGeneratorHelper#random_txt_record_context
|
20
|
+
- DnsMock::ContextGeneratorHelper#to_punycode_hostname
|
20
21
|
- DnsMock::RecordsDictionaryHelper#create_records_dictionary_by_records
|
21
22
|
- DnsMock::ServerHelper#start_random_server
|
22
23
|
- DnsMock::ServerHelper#stop_all_running_servers
|
23
|
-
- DnsMock::Server::RecordsDictionaryBuilder#rdns_lookup_prefix
|
24
24
|
- DnsMock::ContextGeneratorHelper#random_port_number
|
25
25
|
- DnsMock::TestFramework::RSpec::Helper#dns_mock_server
|
26
|
+
- DnsMock::ContextGeneratorHelper#to_rdns_hostaddress
|
27
|
+
|
28
|
+
DuplicateMethodCall:
|
29
|
+
exclude:
|
30
|
+
- DnsMock::ContextGeneratorHelper#create_records
|
26
31
|
|
27
32
|
ControlParameter:
|
28
33
|
exclude:
|
29
34
|
- DnsMock::Error::Helper#raise_unless
|
30
35
|
- DnsMock::Server#initialize
|
36
|
+
- DnsMock::ContextGeneratorHelper#to_punycode_hostname
|
31
37
|
|
32
38
|
MissingSafeMethod:
|
33
39
|
exclude:
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,65 @@
|
|
2
2
|
|
3
3
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
4
4
|
|
5
|
+
## [1.4.0] - 2021-07-13
|
6
|
+
|
7
|
+
### Added
|
8
|
+
|
9
|
+
- Added ability to use internationalized hostnames. All hostnames in UTF-8 will be represented as [Punycode](https://en.wikipedia.org/wiki/Punycode)
|
10
|
+
- Added `simpleidn` as runtime dependency
|
11
|
+
- Added `DnsMock::Representer::Punycode`, tests
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
records = {
|
15
|
+
'mañana.com' => {
|
16
|
+
mx: %w[másletras.mañana.com]
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
DnsMock.start_server(port: 5300, records: records)
|
21
|
+
```
|
22
|
+
|
23
|
+
```bash
|
24
|
+
dig @localhost -p 5300 MX xn--maana-pta.com
|
25
|
+
```
|
26
|
+
|
27
|
+
```
|
28
|
+
; <<>> DiG 9.10.6 <<>> @localhost -p 5300 MX xn--maana-pta.com
|
29
|
+
; (2 servers found)
|
30
|
+
;; global options: +cmd
|
31
|
+
;; Got answer:
|
32
|
+
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4612
|
33
|
+
;; flags: rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
|
34
|
+
;; WARNING: recursion requested but not available
|
35
|
+
|
36
|
+
;; OPT PSEUDOSECTION:
|
37
|
+
; EDNS: version: 0, flags:; udp: 4096
|
38
|
+
;; QUESTION SECTION:
|
39
|
+
;xn--maana-pta.com. IN MX
|
40
|
+
|
41
|
+
;; ANSWER SECTION:
|
42
|
+
xn--maana-pta.com. 1 IN MX 10 xn--msletras-8ya.xn--maana-pta.com.
|
43
|
+
|
44
|
+
;; Query time: 0 msec
|
45
|
+
;; SERVER: 127.0.0.1#5300(127.0.0.1)
|
46
|
+
;; WHEN: Tue Jul 13 15:38:47 EEST 2021
|
47
|
+
;; MSG SIZE rcvd: 79
|
48
|
+
```
|
49
|
+
|
50
|
+
### Changed
|
51
|
+
|
52
|
+
- Refactored `DnsMock::Representer::RdnsLookup`, tests
|
53
|
+
- Updated `DnsMock::Record::Factory::Base`
|
54
|
+
- Updated `DnsMock::Server::RecordsDictionaryBuilder`, tests
|
55
|
+
- Updated `DnsMock::Record::Factory::Cname`, tests
|
56
|
+
- Updated `DnsMock::Record::Factory::Mx`, tests
|
57
|
+
- Updated `DnsMock::Record::Factory::Ns`, tests
|
58
|
+
- Updated `DnsMock::Record::Factory::Ptr`, tests
|
59
|
+
- Updated `DnsMock::Record::Factory::Soa`, tests
|
60
|
+
- Updated `DnsMock::ContextGeneratorHelper`, tests
|
61
|
+
- Updated reek config
|
62
|
+
- Updated gem documentation, version
|
63
|
+
|
5
64
|
## [1.3.1] - 2021-07-07
|
6
65
|
|
7
66
|
### Changed
|
@@ -12,11 +71,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
12
71
|
|
13
72
|
## [1.3.0] - 2021-06-14
|
14
73
|
|
15
|
-
|
74
|
+
### Added
|
75
|
+
|
76
|
+
- Detecting random available port via OS features. Thanks [@ioquatix](https://github.com/ioquatix) for [suggestion](https://github.com/mocktools/ruby-dns-mock/issues/42) 🚀
|
16
77
|
|
17
78
|
### Removed
|
18
79
|
|
19
|
-
- Removed `DnsMock::Server::RandomAvailablePort
|
80
|
+
- Removed `DnsMock::Server::RandomAvailablePort`, tests
|
20
81
|
|
21
82
|
### Changed
|
22
83
|
|
@@ -61,9 +122,11 @@ Detecting random available port via OS features. Thanks [@ioquatix](https://gith
|
|
61
122
|
|
62
123
|
## [1.2.0] - 2021-02-04
|
63
124
|
|
64
|
-
###
|
125
|
+
### Added
|
126
|
+
|
127
|
+
- Ability to specify custom priority of MX record if it needed
|
65
128
|
|
66
|
-
|
129
|
+
Now is possible to define null or backup MX records. Please note, if you haven't specified a priority of MX record, it will be assigned automatically. MX records builder is assigning priority with step 10 from first item of defined MX records array.
|
67
130
|
|
68
131
|
```ruby
|
69
132
|
records = {
|
@@ -96,9 +159,9 @@ example.com. 1 IN MX 40 mx3.domain.com.
|
|
96
159
|
|
97
160
|
## [1.1.0] - 2021-02-01
|
98
161
|
|
99
|
-
###
|
162
|
+
### Added
|
100
163
|
|
101
|
-
|
164
|
+
- RSpec native support. DnsMock helper help you to simplify integration with RSpec
|
102
165
|
|
103
166
|
```ruby
|
104
167
|
# spec/support/config/dns_mock.rb
|
@@ -130,9 +193,11 @@ end
|
|
130
193
|
|
131
194
|
## [1.0.0] - 2021-01-29
|
132
195
|
|
133
|
-
###
|
196
|
+
### Added
|
134
197
|
|
135
|
-
|
198
|
+
- Configurable strategy for record not found case
|
199
|
+
|
200
|
+
By default it won't raise an exception when DNS record not found in mocked records dictionary:
|
136
201
|
|
137
202
|
```ruby
|
138
203
|
DnsMock.start_server(port: 5300)
|
@@ -178,13 +243,15 @@ DnsMock.start_server(exception_if_not_found: true)
|
|
178
243
|
|
179
244
|
### Fixed
|
180
245
|
|
181
|
-
|
246
|
+
- RDNS lookup representatin for IP address in PTR record feature.
|
182
247
|
|
183
248
|
## [0.2.0] - 2021-01-26
|
184
249
|
|
185
|
-
###
|
250
|
+
### Added
|
251
|
+
|
252
|
+
- PTR record support. Ability to mock PTR records
|
186
253
|
|
187
|
-
|
254
|
+
Please note, you can define host address without RDNS lookup prefix (`.in-addr.arpa`). `DnsMock` will do it for you.
|
188
255
|
|
189
256
|
```ruby
|
190
257
|
records = {
|
@@ -216,6 +283,6 @@ dig @localhost -p 5300 -x 1.2.3.4
|
|
216
283
|
|
217
284
|
## [0.1.0] - 2021-01-19
|
218
285
|
|
219
|
-
###
|
286
|
+
### Added
|
220
287
|
|
221
|
-
|
288
|
+
- First release of `DnsMock`. Thanks [@le0pard](https://github.com/le0pard) for idea & support 🚀
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dns_mock (1.
|
4
|
+
dns_mock (1.4.0)
|
5
|
+
simpleidn (~> 0.2.1)
|
5
6
|
|
6
7
|
GEM
|
7
8
|
remote: https://rubygems.org/
|
@@ -35,7 +36,7 @@ GEM
|
|
35
36
|
iniparse (~> 1.4)
|
36
37
|
rexml (~> 3.2)
|
37
38
|
parallel (1.20.1)
|
38
|
-
parser (3.0.
|
39
|
+
parser (3.0.2.0)
|
39
40
|
ast (~> 2.4.1)
|
40
41
|
pry (0.13.1)
|
41
42
|
coderay (~> 1.1)
|
@@ -45,7 +46,7 @@ GEM
|
|
45
46
|
pry (~> 0.13.0)
|
46
47
|
psych (3.3.2)
|
47
48
|
rainbow (3.0.0)
|
48
|
-
rake (13.0.
|
49
|
+
rake (13.0.6)
|
49
50
|
reek (6.0.4)
|
50
51
|
kwalify (~> 0.7.0)
|
51
52
|
parser (~> 3.0.0)
|
@@ -108,14 +109,14 @@ PLATFORMS
|
|
108
109
|
x86_64-darwin-20
|
109
110
|
|
110
111
|
DEPENDENCIES
|
111
|
-
bundler (~> 2.2, >= 2.2.
|
112
|
+
bundler (~> 2.2, >= 2.2.23)
|
112
113
|
bundler-audit (~> 0.8.0)
|
113
114
|
dns_mock!
|
114
115
|
faker (~> 2.18)
|
115
116
|
fasterer (~> 0.9.0)
|
116
117
|
overcommit (~> 0.58.0)
|
117
118
|
pry-byebug (~> 3.9)
|
118
|
-
rake (~> 13.0, >= 13.0.
|
119
|
+
rake (~> 13.0, >= 13.0.6)
|
119
120
|
reek (~> 6.0, >= 6.0.4)
|
120
121
|
rspec (~> 3.10)
|
121
122
|
rspec-dns (~> 0.1.8)
|
@@ -125,4 +126,4 @@ DEPENDENCIES
|
|
125
126
|
simplecov (~> 0.17.1)
|
126
127
|
|
127
128
|
BUNDLED WITH
|
128
|
-
2.2.
|
129
|
+
2.2.23
|
data/README.md
CHANGED
@@ -29,10 +29,11 @@
|
|
29
29
|
## Features
|
30
30
|
|
31
31
|
- Ability to mimic any DNS records (`A`, `AAAA`, `CNAME`, `MX`, `NS`, `PTR`, `SOA` and `TXT`)
|
32
|
-
-
|
32
|
+
- Automatically converts hostnames to RDNS/[Punycode](https://en.wikipedia.org/wiki/Punycode) representation
|
33
33
|
- Lightweight UDP DNS mock server with dynamic/manual port assignment
|
34
34
|
- Test framework agnostic (it's PORO, so you can use it outside of `RSpec`, `Test::Unit` or `MiniTest`)
|
35
35
|
- Simple and intuitive DSL
|
36
|
+
- Only one runtime dependency
|
36
37
|
|
37
38
|
## Requirements
|
38
39
|
|
@@ -67,7 +68,7 @@ records = {
|
|
67
68
|
ns: %w[ns1.domain.com ns2.domain.com],
|
68
69
|
mx: %w[mx1.domain.com mx2.domain.com:50], # you can specify host(s) or host(s) with priority, use '.:0' for definition null MX record
|
69
70
|
txt: %w[txt_record_1 txt_record_2],
|
70
|
-
cname: '
|
71
|
+
cname: 'mañana.com', # you can specify hostname in UTF-8. It will be converted to xn--maana-pta.com automatically
|
71
72
|
soa: [
|
72
73
|
{
|
73
74
|
mname: 'dns1.domain.com',
|
@@ -85,7 +86,7 @@ records = {
|
|
85
86
|
}
|
86
87
|
}
|
87
88
|
|
88
|
-
#
|
89
|
+
# Public DnsMock interface
|
89
90
|
# records:Hash, port:Integer, exception_if_not_found:Boolean
|
90
91
|
# are optional params. By default creates dns mock server with
|
91
92
|
# empty records. A free port for server will be randomly assigned
|
@@ -136,7 +137,7 @@ require 'dns_mock/test_framework/rspec'
|
|
136
137
|
|
137
138
|
#### DnsMock RSpec helper
|
138
139
|
|
139
|
-
Just add `DnsMock::TestFramework::RSpec::Helper` if you wanna use shortcut `dns_mock_server` for DnsMock server instance
|
140
|
+
Just add `DnsMock::TestFramework::RSpec::Helper` if you wanna use shortcut `dns_mock_server` for DnsMock server instance inside of your `RSpec.describe` blocks:
|
140
141
|
|
141
142
|
```ruby
|
142
143
|
# spec/support/config/dns_mock.rb
|
data/dns_mock.gemspec
CHANGED
@@ -31,13 +31,15 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
32
|
spec.require_paths = ['lib']
|
33
33
|
|
34
|
-
spec.
|
34
|
+
spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'
|
35
|
+
|
36
|
+
spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.23'
|
35
37
|
spec.add_development_dependency 'bundler-audit', '~> 0.8.0'
|
36
38
|
spec.add_development_dependency 'faker', '~> 2.18'
|
37
39
|
spec.add_development_dependency 'fasterer', '~> 0.9.0'
|
38
40
|
spec.add_development_dependency 'overcommit', '~> 0.58.0'
|
39
41
|
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
40
|
-
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.
|
42
|
+
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
|
41
43
|
spec.add_development_dependency 'reek', '~> 6.0', '>= 6.0.4'
|
42
44
|
spec.add_development_dependency 'rspec', '~> 3.10'
|
43
45
|
spec.add_development_dependency 'rspec-dns', '~> 0.1.8'
|
data/lib/dns_mock/core.rb
CHANGED
@@ -18,6 +18,11 @@ module DnsMock
|
|
18
18
|
require_relative '../dns_mock/error/helper'
|
19
19
|
end
|
20
20
|
|
21
|
+
module Representer
|
22
|
+
require_relative '../dns_mock/representer/punycode'
|
23
|
+
require_relative '../dns_mock/representer/rdns_lookup'
|
24
|
+
end
|
25
|
+
|
21
26
|
module Record
|
22
27
|
module Factory
|
23
28
|
require_relative '../dns_mock/record/factory/base'
|
@@ -23,8 +23,13 @@ module DnsMock
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
def initialize(
|
26
|
+
def initialize(
|
27
|
+
dns_name = ::Resolv::DNS::Name,
|
28
|
+
punycode_representer = DnsMock::Representer::Punycode,
|
29
|
+
record_data:
|
30
|
+
)
|
27
31
|
@dns_name = dns_name
|
32
|
+
@punycode_representer = punycode_representer
|
28
33
|
@record_data = record_data
|
29
34
|
end
|
30
35
|
|
@@ -38,7 +43,7 @@ module DnsMock
|
|
38
43
|
|
39
44
|
private
|
40
45
|
|
41
|
-
attr_reader :dns_name, :record_data
|
46
|
+
attr_reader :dns_name, :punycode_representer, :record_data
|
42
47
|
|
43
48
|
def record_type
|
44
49
|
self.class.name.split('::').last.upcase
|
@@ -46,7 +51,7 @@ module DnsMock
|
|
46
51
|
|
47
52
|
def create_dns_name(hostname)
|
48
53
|
raise ::ArgumentError, "cannot interpret as DNS name: #{hostname}" unless hostname.is_a?(::String)
|
49
|
-
dns_name.create("#{hostname}.")
|
54
|
+
dns_name.create("#{punycode_representer.call(hostname)}.")
|
50
55
|
end
|
51
56
|
end
|
52
57
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DnsMock
|
4
|
+
module Representer
|
5
|
+
Punycode = ::Class.new do
|
6
|
+
require 'simpleidn'
|
7
|
+
|
8
|
+
def self.call(hostname)
|
9
|
+
return hostname if hostname.ascii_only?
|
10
|
+
|
11
|
+
SimpleIDN.to_ascii(hostname)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DnsMock
|
4
|
+
module Representer
|
5
|
+
class RdnsLookup
|
6
|
+
IP_OCTET_GROUPS = /(\d+).(\d+).(\d+).(\d+)/.freeze
|
7
|
+
RDNS_LOOKUP_REPRESENTATION = '\4.\3.\2.\1.in-addr.arpa'
|
8
|
+
|
9
|
+
def self.call(host_address)
|
10
|
+
host_address.gsub(
|
11
|
+
DnsMock::Representer::RdnsLookup::IP_OCTET_GROUPS,
|
12
|
+
DnsMock::Representer::RdnsLookup::RDNS_LOOKUP_REPRESENTATION
|
13
|
+
)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -6,8 +6,6 @@ module DnsMock
|
|
6
6
|
include DnsMock::Error::Helper
|
7
7
|
|
8
8
|
IP_ADDRESS_PATTERN = /\A((1\d|[1-9]|2[0-4])?\d|25[0-5])(\.\g<1>){3}\z/.freeze
|
9
|
-
IP_OCTET_GROUPS = /(\d+).(\d+).(\d+).(\d+)/.freeze
|
10
|
-
RDNS_LOOKUP_REPRESENTATION = '\4.\3.\2.\1.in-addr.arpa'
|
11
9
|
TYPE_MAPPER = DnsMock::AVAILABLE_DNS_RECORD_TYPES.zip(
|
12
10
|
[
|
13
11
|
[DnsMock::Record::Builder::A, DnsMock::Record::Factory::A, ::Array],
|
@@ -27,7 +25,12 @@ module DnsMock
|
|
27
25
|
|
28
26
|
attr_reader :records
|
29
27
|
|
30
|
-
def initialize
|
28
|
+
def initialize(
|
29
|
+
punycode_representer = DnsMock::Representer::Punycode,
|
30
|
+
rdns_lookup_representer = DnsMock::Representer::RdnsLookup
|
31
|
+
)
|
32
|
+
@punycode_representer = punycode_representer
|
33
|
+
@rdns_lookup_representer = rdns_lookup_representer
|
31
34
|
@records = {}
|
32
35
|
end
|
33
36
|
|
@@ -35,7 +38,7 @@ module DnsMock
|
|
35
38
|
raise_unless(DnsMock::Error::ArgumentType.new(records_to_build.class), records_to_build.is_a?(::Hash))
|
36
39
|
records_to_build.each do |hostname, dns_records|
|
37
40
|
raise_unless(DnsMock::Error::RecordHostType.new(hostname, hostname.class), hostname.is_a?(::String))
|
38
|
-
records[
|
41
|
+
records[representer(hostname)] = dns_records.each_with_object({}) do |(record_type, records_data), records_instances_by_type|
|
39
42
|
records_instances_by_type[record_type] = build_records_instances_by_type(record_type, records_data)
|
40
43
|
end
|
41
44
|
end
|
@@ -45,13 +48,12 @@ module DnsMock
|
|
45
48
|
|
46
49
|
private
|
47
50
|
|
48
|
-
|
49
|
-
return hostname unless hostname[DnsMock::Server::RecordsDictionaryBuilder::IP_ADDRESS_PATTERN]
|
51
|
+
attr_reader :punycode_representer, :rdns_lookup_representer
|
50
52
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
)
|
53
|
+
def representer(hostname)
|
54
|
+
return rdns_lookup_representer.call(hostname) if hostname[DnsMock::Server::RecordsDictionaryBuilder::IP_ADDRESS_PATTERN]
|
55
|
+
|
56
|
+
punycode_representer.call(hostname)
|
55
57
|
end
|
56
58
|
|
57
59
|
def build_records_instances_by_type(record_type, records_to_build)
|
data/lib/dns_mock/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dns_mock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladislav Trotsenko
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-07-
|
11
|
+
date: 2021-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: simpleidn
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.2.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.2.1
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -19,7 +33,7 @@ dependencies:
|
|
19
33
|
version: '2.2'
|
20
34
|
- - ">="
|
21
35
|
- !ruby/object:Gem::Version
|
22
|
-
version: 2.2.
|
36
|
+
version: 2.2.23
|
23
37
|
type: :development
|
24
38
|
prerelease: false
|
25
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +43,7 @@ dependencies:
|
|
29
43
|
version: '2.2'
|
30
44
|
- - ">="
|
31
45
|
- !ruby/object:Gem::Version
|
32
|
-
version: 2.2.
|
46
|
+
version: 2.2.23
|
33
47
|
- !ruby/object:Gem::Dependency
|
34
48
|
name: bundler-audit
|
35
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,7 +123,7 @@ dependencies:
|
|
109
123
|
version: '13.0'
|
110
124
|
- - ">="
|
111
125
|
- !ruby/object:Gem::Version
|
112
|
-
version: 13.0.
|
126
|
+
version: 13.0.6
|
113
127
|
type: :development
|
114
128
|
prerelease: false
|
115
129
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -119,7 +133,7 @@ dependencies:
|
|
119
133
|
version: '13.0'
|
120
134
|
- - ">="
|
121
135
|
- !ruby/object:Gem::Version
|
122
|
-
version: 13.0.
|
136
|
+
version: 13.0.6
|
123
137
|
- !ruby/object:Gem::Dependency
|
124
138
|
name: reek
|
125
139
|
requirement: !ruby/object:Gem::Requirement
|
@@ -299,6 +313,8 @@ files:
|
|
299
313
|
- lib/dns_mock/record/factory/ptr.rb
|
300
314
|
- lib/dns_mock/record/factory/soa.rb
|
301
315
|
- lib/dns_mock/record/factory/txt.rb
|
316
|
+
- lib/dns_mock/representer/punycode.rb
|
317
|
+
- lib/dns_mock/representer/rdns_lookup.rb
|
302
318
|
- lib/dns_mock/response/answer.rb
|
303
319
|
- lib/dns_mock/response/message.rb
|
304
320
|
- lib/dns_mock/server.rb
|