lita-dig 1.2.0 → 1.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 +4 -4
- data/.rspec +1 -0
- data/lib/lita-dig.rb +4 -1
- data/lib/lita/handlers/dig.rb +4 -10
- data/lita-dig.gemspec +7 -7
- data/spec/lita/handlers/dig_spec.rb +5 -3
- data/spec/spec_helper.rb +17 -0
- data/templates/compact.erb +3 -0
- data/templates/compact.hipchat.erb +3 -0
- data/templates/compact.slack.erb +3 -0
- data/templates/full.erb +1 -0
- data/templates/full.hipchat.erb +1 -0
- data/templates/full.slack.erb +1 -0
- metadata +22 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2c5d0cb894f600dbdf8221e3ae8fe33b2e4717c
|
4
|
+
data.tar.gz: deaa8b50b4b4186299680ffc494cb22090bebb3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f8e05228af35ef6a4b8a658e0dbd369ee8b9624a7ecb6aede8684c8997cc32ac78169c22841b3220e9e299307cc6c559ad54e4e0e09b7dce9f02a54bd4e553e
|
7
|
+
data.tar.gz: 152849c05aba7d73e7dbee87bb2c94a9258d876d60a5c1c19c391a6bd4669a2f65b44ef7a2e794623d930f27c3bc4feb744b189337221e61b7f57348e3d0ffd9
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color --profile 5
|
data/lib/lita-dig.rb
CHANGED
data/lib/lita/handlers/dig.rb
CHANGED
@@ -29,6 +29,7 @@ module Lita
|
|
29
29
|
type = (response.match_data['type'] || 'a').strip
|
30
30
|
short = response.match_data['short']
|
31
31
|
result = lookup(record, type, resolver)
|
32
|
+
|
32
33
|
response.reply(format_lookup(result, short))
|
33
34
|
end
|
34
35
|
|
@@ -36,8 +37,8 @@ module Lita
|
|
36
37
|
|
37
38
|
def lookup(argument, type, server = nil)
|
38
39
|
return t('error.unknown_type') unless DNS_TYPES.include?(type.downcase)
|
39
|
-
type = Object.const_get('Net::DNS::' + type.upcase)
|
40
40
|
|
41
|
+
type = Object.const_get('Net::DNS::' + type.upcase)
|
41
42
|
resolver = Net::DNS::Resolver.new
|
42
43
|
resolver.nameservers = server unless server.nil?
|
43
44
|
|
@@ -49,15 +50,8 @@ module Lita
|
|
49
50
|
end
|
50
51
|
|
51
52
|
def format_lookup(lookup, compact = false)
|
52
|
-
|
53
|
-
|
54
|
-
lookup.each_address do |ip|
|
55
|
-
result += "#{ip}\n"
|
56
|
-
end
|
57
|
-
else
|
58
|
-
result = lookup.to_s
|
59
|
-
end
|
60
|
-
result
|
53
|
+
compact ? template = 'compact' : template = 'full'
|
54
|
+
render_template(template, lookup: lookup)
|
61
55
|
end
|
62
56
|
end
|
63
57
|
|
data/lita-dig.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'lita-dig'
|
3
|
-
spec.version = '1.
|
3
|
+
spec.version = '1.3.0'
|
4
4
|
spec.authors = ['Eric Sigler']
|
5
5
|
spec.email = ['me@esigler.com']
|
6
6
|
spec.description = 'A DNS record lookup plugin for Lita'
|
7
|
-
spec.summary =
|
7
|
+
spec.summary = spec.description
|
8
8
|
spec.homepage = 'https://github.com/esigler/lita-dig'
|
9
9
|
spec.license = 'MIT'
|
10
10
|
spec.metadata = { 'lita_plugin_type' => 'handler' }
|
@@ -14,13 +14,13 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
15
|
spec.require_paths = ['lib']
|
16
16
|
|
17
|
-
spec.add_runtime_dependency 'lita', '>= 4.
|
17
|
+
spec.add_runtime_dependency 'lita', '>= 4.2'
|
18
18
|
spec.add_runtime_dependency 'net-dns2'
|
19
19
|
|
20
|
-
spec.add_development_dependency 'bundler'
|
21
|
-
spec.add_development_dependency 'rake'
|
22
|
-
spec.add_development_dependency 'rspec', '>= 3.0.0'
|
23
|
-
spec.add_development_dependency 'simplecov'
|
20
|
+
spec.add_development_dependency 'bundler'
|
24
21
|
spec.add_development_dependency 'coveralls'
|
22
|
+
spec.add_development_dependency 'rake'
|
23
|
+
spec.add_development_dependency 'rspec'
|
25
24
|
spec.add_development_dependency 'rubocop'
|
25
|
+
spec.add_development_dependency 'simplecov'
|
26
26
|
end
|
@@ -31,7 +31,9 @@ describe Lita::Handlers::Dig, lita_handler: true do
|
|
31
31
|
|
32
32
|
let(:resolve_short) do
|
33
33
|
list = double
|
34
|
-
allow(list).to receive(:each_address)
|
34
|
+
allow(list).to receive(:each_address)
|
35
|
+
.and_yield('1.2.3.4')
|
36
|
+
.and_yield('5.6.7.8')
|
35
37
|
client = double
|
36
38
|
allow(client).to receive(:nameservers=) { '' }
|
37
39
|
expect(client).to receive(:query) { list }
|
@@ -58,7 +60,7 @@ describe Lita::Handlers::Dig, lita_handler: true do
|
|
58
60
|
it 'shows a short record if the domain exists' do
|
59
61
|
expect(Net::DNS::Resolver).to receive(:new) { resolve_short }
|
60
62
|
send_command('dig example.com +short')
|
61
|
-
expect(replies.last).to eq("1.2.3.4\n")
|
63
|
+
expect(replies.last).to eq("1.2.3.4\n5.6.7.8\n")
|
62
64
|
end
|
63
65
|
|
64
66
|
it 'shows a warning if the domain does not exist' do
|
@@ -89,7 +91,7 @@ describe Lita::Handlers::Dig, lita_handler: true do
|
|
89
91
|
x25 isdn rt nsap nsapptr sig key px gpos aaaa loc nxt eid nimloc srv
|
90
92
|
atma naptr kx cert dname opt ds sshfp rrsig nsec dnskey uinfo uid gid
|
91
93
|
unspec tkey tsig ixfr axfr mailb maila any).each do |type|
|
92
|
-
it
|
94
|
+
it "resolves a record with the #{type} type" do
|
93
95
|
expect(Net::DNS::Resolver).to receive(:new) { resolve }
|
94
96
|
send_command("dig example.com #{type}")
|
95
97
|
expect(replies.last).to eq('Generic A response example.com')
|
data/spec/spec_helper.rb
CHANGED
@@ -10,3 +10,20 @@ require 'lita-dig'
|
|
10
10
|
require 'lita/rspec'
|
11
11
|
|
12
12
|
Lita.version_3_compatibility_mode = false
|
13
|
+
|
14
|
+
RSpec.configure do |config|
|
15
|
+
config.expect_with :rspec do |expectations|
|
16
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
17
|
+
end
|
18
|
+
|
19
|
+
config.mock_with :rspec do |mocks|
|
20
|
+
mocks.verify_partial_doubles = true
|
21
|
+
end
|
22
|
+
|
23
|
+
config.filter_run :focus
|
24
|
+
config.run_all_when_everything_filtered = true
|
25
|
+
config.default_formatter = 'doc' if config.files_to_run.one?
|
26
|
+
config.order = :random
|
27
|
+
|
28
|
+
Kernel.srand config.seed
|
29
|
+
end
|
data/templates/full.erb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
<%= @lookup %>
|
@@ -0,0 +1 @@
|
|
1
|
+
/quote <%= @lookup %>
|
@@ -0,0 +1 @@
|
|
1
|
+
```<%= @lookup %>```
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lita-dig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Sigler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lita
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '4.
|
19
|
+
version: '4.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '4.
|
26
|
+
version: '4.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: net-dns2
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,18 +42,18 @@ dependencies:
|
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: coveralls
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,21 +67,21 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rubocop
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: simplecov
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -130,6 +130,7 @@ extensions: []
|
|
130
130
|
extra_rdoc_files: []
|
131
131
|
files:
|
132
132
|
- ".gitignore"
|
133
|
+
- ".rspec"
|
133
134
|
- ".rubocop.yml"
|
134
135
|
- ".travis.yml"
|
135
136
|
- CONTRIBUTING.md
|
@@ -143,6 +144,12 @@ files:
|
|
143
144
|
- locales/en.yml
|
144
145
|
- spec/lita/handlers/dig_spec.rb
|
145
146
|
- spec/spec_helper.rb
|
147
|
+
- templates/compact.erb
|
148
|
+
- templates/compact.hipchat.erb
|
149
|
+
- templates/compact.slack.erb
|
150
|
+
- templates/full.erb
|
151
|
+
- templates/full.hipchat.erb
|
152
|
+
- templates/full.slack.erb
|
146
153
|
homepage: https://github.com/esigler/lita-dig
|
147
154
|
licenses:
|
148
155
|
- MIT
|