charon 1.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.
@@ -0,0 +1,4 @@
1
+ module Charon
2
+ VERSION = '1.0.0'
3
+ end
4
+
@@ -0,0 +1,45 @@
1
+ $TESTING = true
2
+ require 'rubygems'
3
+ require 'minitest/pride'
4
+ require 'minitest/autorun'
5
+ require 'charon'
6
+
7
+ describe 'Charon' do
8
+ describe 'Resolver' do
9
+ it 'recognize a valid ip address' do
10
+ assert Charon::Resolver.is_address? '127.0.0.1'
11
+ assert Charon::Resolver.is_address? '127.0.0.255'
12
+
13
+ assert Charon::Resolver.is_address?('127.0.0.300') == false
14
+ assert Charon::Resolver.is_address?('127.0.0.1.com') == false
15
+ assert Charon::Resolver.is_address?('www.127.0.0.1') == false
16
+ end
17
+
18
+ it 'reverse an ip address' do
19
+ assert_equal '1.0.0.127', Charon::Resolver.fix_name('127.0.0.1')
20
+ end
21
+
22
+ it 'remove the subdomain from an url' do
23
+ assert_equal 'google.com', Charon::Resolver.fix_name('www.google.com')
24
+ assert_equal 'www.com', Charon::Resolver.fix_name('www.com')
25
+ assert_equal 'test.2000.hu', Charon::Resolver.fix_name('test.2000.hu')
26
+ assert_equal 'test.2000.hu', Charon::Resolver.fix_name('www.test.2000.hu')
27
+ end
28
+
29
+ it 'have no records for clean address' do
30
+ assert_nil Charon::Resolver.query '127.0.0.1'
31
+ assert_nil Charon::Resolver.query '173.194.35.48'
32
+ end
33
+
34
+ it 'have records for spam address' do
35
+ code, list = Charon::Resolver.query '103.24.238.0'
36
+ assert_equal 2, code
37
+ assert_equal 'Block List', list
38
+
39
+ code, list = Charon::Resolver.query '184.22.36.32'
40
+ assert_equal 2, code
41
+ assert_equal 'Block List', list
42
+ end
43
+ end
44
+ end
45
+
metadata ADDED
@@ -0,0 +1,69 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: charon
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Simone Margaritelli
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 5.0.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 5.0.0
27
+ description: A Ruby library to query the Zen service on SpamHaus.org
28
+ email: evilsocket@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/charon/resolver.rb
34
+ - lib/charon/tlds.rb
35
+ - lib/charon/version.rb
36
+ - lib/charon.rb
37
+ - LICENSE
38
+ - README.md
39
+ - Rakefile
40
+ - charon.gemspec
41
+ - Gemfile
42
+ - test/test_main.rb
43
+ homepage: http://github.com/evilsocket/charon
44
+ licenses:
45
+ - BSD
46
+ metadata: {}
47
+ post_install_message:
48
+ rdoc_options:
49
+ - --charset=UTF-8
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 2.0.6
65
+ signing_key:
66
+ specification_version: 4
67
+ summary: A Ruby library to query the Zen service on SpamHaus.org
68
+ test_files:
69
+ - test/test_main.rb