hosts_file 0.0.1 → 0.0.2
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.
- data/README.md +1 -1
- data/lib/hosts_file/host.rb +4 -0
- data/lib/hosts_file/version.rb +1 -1
- data/spec/hosts_file/parser_spec.rb +32 -1
- metadata +45 -72
data/README.md
CHANGED
@@ -10,7 +10,7 @@ Basic library for reading hosts file entries.
|
|
10
10
|
|
11
11
|
require 'hosts_file'
|
12
12
|
|
13
|
-
hosts = HostsFile.
|
13
|
+
hosts = HostsFile.load("/etc/hosts")
|
14
14
|
hosts.collect {|host| host.ip}
|
15
15
|
hosts.collect {|host| host.name}
|
16
16
|
hosts.collect {|host| host.aliases}
|
data/lib/hosts_file/host.rb
CHANGED
data/lib/hosts_file/version.rb
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
require 'hosts_file/parser'
|
2
2
|
|
3
3
|
describe HostsFile::Parser do
|
4
|
-
|
4
|
+
def test_example(line, ip, name=nil, *alias_name)
|
5
|
+
host = HostsFile::Parser.new(line).first
|
6
|
+
host.ip.should eql(ip)
|
7
|
+
host.name.should eql(name)
|
8
|
+
host.aliases.should eql(alias_name)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should parse multiline" do
|
5
12
|
@parser = HostsFile::Parser.new("1.1.1.1 hostname\n2.2.2.2 hostname2")
|
6
13
|
@parser.collect {|h| h}.length.should eql(2)
|
7
14
|
end
|
@@ -15,4 +22,28 @@ describe HostsFile::Parser do
|
|
15
22
|
@parser = HostsFile::Parser.new("1.1.1.1")
|
16
23
|
@parser.collect {|h| h}.length.should eql(0)
|
17
24
|
end
|
25
|
+
|
26
|
+
it "should handle basic syntax" do
|
27
|
+
test_example("1.1.1.1 HOSTNAME", "1.1.1.1", "HOSTNAME")
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should handle advanced syntax" do
|
31
|
+
test_example("1.1.1.1 HOSTNAME HOST", "1.1.1.1", "HOSTNAME", "HOST")
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should support tab separation" do
|
35
|
+
test_example("1.1.1.1\tHOSTNAME", "1.1.1.1", "HOSTNAME")
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should tolerate lots of tab separation" do
|
39
|
+
test_example("1.1.1.1\t\t\t\t\t\t\tHOSTNAME", "1.1.1.1", "HOSTNAME")
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should tolerate lots of spaces" do
|
43
|
+
test_example("1.1.1.1 HOSTNAME", "1.1.1.1", "HOSTNAME")
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should tolerate lots of aliases" do
|
47
|
+
test_example("1.1.1.1 HOSTNAME HOSTA HOSTB HOSTC HOSTD", "1.1.1.1", "HOSTNAME", "HOSTA", "HOSTB", "HOSTC", "HOSTD")
|
48
|
+
end
|
18
49
|
end
|
metadata
CHANGED
@@ -1,75 +1,56 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: hosts_file
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Joshua Bussdieker
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-07-24 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: bundler
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &13603580 !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
18
|
+
requirements:
|
26
19
|
- - ~>
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 1
|
31
|
-
- 3
|
32
|
-
version: "1.3"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.3'
|
33
22
|
type: :development
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: rake
|
37
23
|
prerelease: false
|
38
|
-
|
24
|
+
version_requirements: *13603580
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rake
|
27
|
+
requirement: &13601400 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
47
33
|
type: :development
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: rspec
|
51
34
|
prerelease: false
|
52
|
-
|
35
|
+
version_requirements: *13601400
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &13600040 !ruby/object:Gem::Requirement
|
53
39
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
segments:
|
59
|
-
- 0
|
60
|
-
version: "0"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
61
44
|
type: :development
|
62
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *13600040
|
63
47
|
description:
|
64
|
-
email:
|
48
|
+
email:
|
65
49
|
- jbussdieker@gmail.com
|
66
50
|
executables: []
|
67
|
-
|
68
51
|
extensions: []
|
69
|
-
|
70
52
|
extra_rdoc_files: []
|
71
|
-
|
72
|
-
files:
|
53
|
+
files:
|
73
54
|
- .gitignore
|
74
55
|
- .travis.yml
|
75
56
|
- Gemfile
|
@@ -88,39 +69,31 @@ files:
|
|
88
69
|
- spec/hosts_file_spec.rb
|
89
70
|
- spec/spec_helper.rb
|
90
71
|
homepage: http://github.com/jbussdieker/ruby-hosts_file
|
91
|
-
licenses:
|
72
|
+
licenses:
|
92
73
|
- MIT
|
93
74
|
post_install_message:
|
94
75
|
rdoc_options: []
|
95
|
-
|
96
|
-
require_paths:
|
76
|
+
require_paths:
|
97
77
|
- lib
|
98
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
79
|
none: false
|
100
|
-
requirements:
|
101
|
-
- -
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
|
104
|
-
|
105
|
-
- 0
|
106
|
-
version: "0"
|
107
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ! '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
85
|
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
|
113
|
-
segments:
|
114
|
-
- 0
|
115
|
-
version: "0"
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
116
90
|
requirements: []
|
117
|
-
|
118
91
|
rubyforge_project:
|
119
|
-
rubygems_version: 1.8.
|
92
|
+
rubygems_version: 1.8.17
|
120
93
|
signing_key:
|
121
94
|
specification_version: 3
|
122
95
|
summary: Basic library for reading hosts file entries.
|
123
|
-
test_files:
|
96
|
+
test_files:
|
124
97
|
- spec/hosts_file/file_spec.rb
|
125
98
|
- spec/hosts_file/host_spec.rb
|
126
99
|
- spec/hosts_file/parser_spec.rb
|