devdnsd 1.1.10 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +7 -21
- data/.yardopts +1 -1
- data/Gemfile.lock +15 -15
- data/README.md +2 -2
- data/Rakefile +2 -2
- data/bin/devdnsd +28 -59
- data/devdnsd.gemspec +1 -3
- data/doc/DevDNSd.html +130 -0
- data/doc/DevDNSd/Application.html +2415 -0
- data/doc/DevDNSd/Configuration.html +421 -0
- data/doc/DevDNSd/Errors.html +125 -0
- data/doc/DevDNSd/Errors/InvalidRule.html +133 -0
- data/doc/DevDNSd/Rule.html +1469 -0
- data/doc/DevDNSd/Version.html +189 -0
- data/doc/_index.html +200 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/file.README.html +161 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +161 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +340 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/devdnsd.rb +2 -3
- data/lib/devdnsd/application.rb +21 -26
- data/lib/devdnsd/configuration.rb +2 -3
- data/lib/devdnsd/errors.rb +1 -1
- data/lib/devdnsd/rule.rb +1 -1
- data/lib/devdnsd/version.rb +3 -3
- data/spec/coverage_helper.rb +4 -3
- data/spec/devdnsd/application_spec.rb +67 -23
- data/spec/devdnsd/configuration_spec.rb +2 -16
- data/spec/devdnsd/rule_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/utils/tester.rb +1 -2
- metadata +28 -23
data/doc/css/style.css
ADDED
@@ -0,0 +1,328 @@
|
|
1
|
+
body {
|
2
|
+
padding: 0 20px;
|
3
|
+
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
|
4
|
+
font-size: 13px;
|
5
|
+
}
|
6
|
+
body.frames { padding: 0 5px; }
|
7
|
+
h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
|
8
|
+
h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
|
9
|
+
h1.title { margin-bottom: 10px; }
|
10
|
+
h1.alphaindex { margin-top: 0; font-size: 22px; }
|
11
|
+
h2 {
|
12
|
+
padding: 0;
|
13
|
+
padding-bottom: 3px;
|
14
|
+
border-bottom: 1px #aaa solid;
|
15
|
+
font-size: 1.4em;
|
16
|
+
margin: 1.8em 0 0.5em;
|
17
|
+
}
|
18
|
+
h2 small { font-weight: normal; font-size: 0.7em; display: block; float: right; }
|
19
|
+
.clear { clear: both; }
|
20
|
+
.inline { display: inline; }
|
21
|
+
.inline p:first-child { display: inline; }
|
22
|
+
.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; }
|
23
|
+
.docstring h1 { font-size: 1.2em; }
|
24
|
+
.docstring h2 { font-size: 1.1em; }
|
25
|
+
.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; }
|
26
|
+
.summary_desc .object_link, .docstring .object_link { font-family: monospace; }
|
27
|
+
.rdoc-term { padding-right: 25px; font-weight: bold; }
|
28
|
+
.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; }
|
29
|
+
|
30
|
+
/* style for <ul> */
|
31
|
+
#filecontents li > p, .docstring li > p { margin: 0px; }
|
32
|
+
#filecontents ul, .docstring ul { padding-left: 20px; }
|
33
|
+
/* style for <dl> */
|
34
|
+
#filecontents dl, .docstring dl { border: 1px solid #ccc; }
|
35
|
+
#filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; }
|
36
|
+
#filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; }
|
37
|
+
#filecontents dd > p, .docstring dd > p { margin: 0px; }
|
38
|
+
|
39
|
+
.note {
|
40
|
+
color: #222;
|
41
|
+
-moz-border-radius: 3px; -webkit-border-radius: 3px;
|
42
|
+
background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px;
|
43
|
+
display: block;
|
44
|
+
}
|
45
|
+
.note.todo { background: #ffffc5; border-color: #ececaa; }
|
46
|
+
.note.returns_void { background: #efefef; }
|
47
|
+
.note.deprecated { background: #ffe5e5; border-color: #e9dada; }
|
48
|
+
.note.private { background: #ffffc5; border-color: #ececaa; }
|
49
|
+
.note.title { padding: 1px 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
|
50
|
+
.summary_signature + .note.title { margin-left: 7px; }
|
51
|
+
h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
|
52
|
+
.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
|
53
|
+
.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
|
54
|
+
.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
|
55
|
+
.note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
|
56
|
+
.note.title.not_defined_here { background: transparent; border: none; font-style: italic; }
|
57
|
+
.discussion .note { margin-top: 6px; }
|
58
|
+
.discussion .note:first-child { margin-top: 0; }
|
59
|
+
|
60
|
+
h3.inherited {
|
61
|
+
font-style: italic;
|
62
|
+
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
|
63
|
+
font-weight: normal;
|
64
|
+
padding: 0;
|
65
|
+
margin: 0;
|
66
|
+
margin-top: 12px;
|
67
|
+
margin-bottom: 3px;
|
68
|
+
font-size: 13px;
|
69
|
+
}
|
70
|
+
p.inherited {
|
71
|
+
padding: 0;
|
72
|
+
margin: 0;
|
73
|
+
margin-left: 25px;
|
74
|
+
}
|
75
|
+
|
76
|
+
#filecontents dl.box, dl.box {
|
77
|
+
border: 0;
|
78
|
+
width: 520px;
|
79
|
+
font-size: 1em;
|
80
|
+
}
|
81
|
+
#filecontents dl.box dt, dl.box dt {
|
82
|
+
float: left;
|
83
|
+
display: block;
|
84
|
+
width: 100px;
|
85
|
+
margin: 0;
|
86
|
+
text-align: right;
|
87
|
+
font-weight: bold;
|
88
|
+
background: transparent;
|
89
|
+
border: 1px solid #aaa;
|
90
|
+
border-width: 1px 0px 0px 1px;
|
91
|
+
padding: 6px 0;
|
92
|
+
padding-right: 10px;
|
93
|
+
}
|
94
|
+
#filecontents dl.box dd, dl.box dd {
|
95
|
+
float: left;
|
96
|
+
display: block;
|
97
|
+
width: 380px;
|
98
|
+
margin: 0;
|
99
|
+
padding: 6px 0;
|
100
|
+
padding-right: 20px;
|
101
|
+
border: 1px solid #aaa;
|
102
|
+
border-width: 1px 1px 0 0;
|
103
|
+
}
|
104
|
+
#filecontents dl.box .last, dl.box .last {
|
105
|
+
border-bottom: 1px solid #aaa;
|
106
|
+
}
|
107
|
+
#filecontents dl.box .r1, dl.box .r1 { background: #eee; }
|
108
|
+
|
109
|
+
ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
|
110
|
+
.index_inline_list { padding-left: 0; font-size: 1.1em; }
|
111
|
+
.index_inline_list li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
|
112
|
+
|
113
|
+
dl.constants { margin-left: 40px; }
|
114
|
+
dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
|
115
|
+
dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
|
116
|
+
|
117
|
+
.summary_desc { margin-left: 32px; display: block; font-family: sans-serif; }
|
118
|
+
.summary_desc tt { font-size: 0.9em; }
|
119
|
+
dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; }
|
120
|
+
dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
|
121
|
+
dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; }
|
122
|
+
dl.constants .discussion *:first-child { margin-top: 0; }
|
123
|
+
dl.constants .discussion *:last-child { margin-bottom: 0; }
|
124
|
+
|
125
|
+
.method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; }
|
126
|
+
.method_details.first { border: 0; }
|
127
|
+
p.signature, h3.signature {
|
128
|
+
font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
|
129
|
+
padding: 6px 10px; margin-top: 18px;
|
130
|
+
background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
|
131
|
+
}
|
132
|
+
p.signature tt,
|
133
|
+
h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
|
134
|
+
p.signature .overload,
|
135
|
+
h3.signature .overload { display: block; }
|
136
|
+
p.signature .extras,
|
137
|
+
h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
|
138
|
+
p.signature .not_defined_here,
|
139
|
+
h3.signature .not_defined_here,
|
140
|
+
p.signature .aliases,
|
141
|
+
h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
|
142
|
+
p.signature .aliases .names,
|
143
|
+
h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
|
144
|
+
|
145
|
+
.tags .tag_title { font-size: 1em; margin-bottom: 0; font-weight: bold; }
|
146
|
+
.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
|
147
|
+
.tags ul li { margin-bottom: 3px; }
|
148
|
+
.tags ul .name { font-family: monospace; font-weight: bold; }
|
149
|
+
.tags ul .note { padding: 3px 6px; }
|
150
|
+
.tags { margin-bottom: 12px; }
|
151
|
+
|
152
|
+
.tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; }
|
153
|
+
.tags .examples .inline p { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
|
154
|
+
|
155
|
+
.tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
|
156
|
+
.tags .overload .overload_item .signature {
|
157
|
+
padding: 2px 8px;
|
158
|
+
background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
|
159
|
+
}
|
160
|
+
.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
|
161
|
+
.tags .overload .docstring { margin-top: 15px; }
|
162
|
+
|
163
|
+
.defines { display: none; }
|
164
|
+
|
165
|
+
#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
|
166
|
+
|
167
|
+
.showSource { font-size: 0.9em; }
|
168
|
+
.showSource a:link, .showSource a:visited { text-decoration: none; color: #666; }
|
169
|
+
|
170
|
+
#content a:link, #content a:visited { text-decoration: none; color: #05a; }
|
171
|
+
#content a:hover { background: #ffffa5; }
|
172
|
+
div.docstring, p.docstring { margin-right: 6em; }
|
173
|
+
|
174
|
+
ul.summary {
|
175
|
+
list-style: none;
|
176
|
+
font-family: monospace;
|
177
|
+
font-size: 1em;
|
178
|
+
line-height: 1.5em;
|
179
|
+
}
|
180
|
+
ul.summary a:link, ul.summary a:visited {
|
181
|
+
text-decoration: none; font-size: 1.1em;
|
182
|
+
}
|
183
|
+
ul.summary li { margin-bottom: 5px; }
|
184
|
+
.summary .summary_signature {
|
185
|
+
padding: 1px 10px;
|
186
|
+
background: #eaeaff; border: 1px solid #dfdfe5;
|
187
|
+
-moz-border-radius: 3px; -webkit-border-radius: 3px;
|
188
|
+
}
|
189
|
+
.summary_signature:hover { background: #eeeeff; cursor: pointer; }
|
190
|
+
ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;}
|
191
|
+
ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
|
192
|
+
#content .summary_signature:hover a:link,
|
193
|
+
#content .summary_signature:hover a:visited {
|
194
|
+
background: transparent;
|
195
|
+
color: #48f;
|
196
|
+
}
|
197
|
+
|
198
|
+
p.inherited a { font-family: monospace; font-size: 0.9em; }
|
199
|
+
p.inherited { word-spacing: 5px; font-size: 1.2em; }
|
200
|
+
|
201
|
+
p.children { font-size: 1.2em; }
|
202
|
+
p.children a { font-size: 0.9em; }
|
203
|
+
p.children strong { font-size: 0.8em; }
|
204
|
+
p.children strong.modules { padding-left: 5px; }
|
205
|
+
|
206
|
+
ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
|
207
|
+
ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
|
208
|
+
ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,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) no-repeat top center; }
|
209
|
+
ul.fullTree li:first-child { padding-top: 0; background: transparent; }
|
210
|
+
ul.fullTree li:last-child { padding-bottom: 0; }
|
211
|
+
.showAll ul.fullTree { display: block; }
|
212
|
+
.showAll .inheritName { display: none; }
|
213
|
+
|
214
|
+
#search { position: absolute; right: 14px; top: 0px; }
|
215
|
+
#search a:link, #search a:visited {
|
216
|
+
display: block; float: left; margin-right: 4px;
|
217
|
+
padding: 8px 10px; text-decoration: none; color: #05a;
|
218
|
+
border: 1px solid #d8d8e5;
|
219
|
+
-moz-border-radius-bottomleft: 3px; -moz-border-radius-bottomright: 3px;
|
220
|
+
-webkit-border-bottom-left-radius: 3px; -webkit-border-bottom-right-radius: 3px;
|
221
|
+
background: #eaf0ff;
|
222
|
+
-webkit-box-shadow: -1px 1px 3px #ddd;
|
223
|
+
}
|
224
|
+
#search a:hover { background: #f5faff; color: #06b; }
|
225
|
+
#search a.active {
|
226
|
+
background: #568; padding-bottom: 20px; color: #fff; border: 1px solid #457;
|
227
|
+
-moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
|
228
|
+
-webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
|
229
|
+
}
|
230
|
+
#search a.inactive { color: #999; }
|
231
|
+
.frames #search { display: none; }
|
232
|
+
.inheritanceTree, .toggleDefines { float: right; }
|
233
|
+
|
234
|
+
#menu { font-size: 1.3em; color: #bbb; top: -5px; position: relative; }
|
235
|
+
#menu .title, #menu a { font-size: 0.7em; }
|
236
|
+
#menu .title a { font-size: 1em; }
|
237
|
+
#menu .title { color: #555; }
|
238
|
+
#menu a:link, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
|
239
|
+
#menu a:hover { color: #05a; }
|
240
|
+
#menu .noframes { display: inline; }
|
241
|
+
.frames #menu .noframes { display: inline; float: right; }
|
242
|
+
|
243
|
+
#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
|
244
|
+
#footer a:link, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
|
245
|
+
#footer a:hover { color: #05a; }
|
246
|
+
|
247
|
+
#listing ul.alpha { font-size: 1.1em; }
|
248
|
+
#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
|
249
|
+
#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
|
250
|
+
#listing ul.alpha ul { margin: 0; padding-left: 15px; }
|
251
|
+
#listing ul small { color: #666; font-size: 0.7em; }
|
252
|
+
|
253
|
+
li.r1 { background: #f0f0f0; }
|
254
|
+
li.r2 { background: #fafafa; }
|
255
|
+
|
256
|
+
#search_frame {
|
257
|
+
z-index: 9999;
|
258
|
+
background: #fff;
|
259
|
+
display: none;
|
260
|
+
position: absolute;
|
261
|
+
top: 36px;
|
262
|
+
right: 18px;
|
263
|
+
width: 500px;
|
264
|
+
height: 80%;
|
265
|
+
overflow-y: scroll;
|
266
|
+
border: 1px solid #999;
|
267
|
+
border-collapse: collapse;
|
268
|
+
-webkit-box-shadow: -7px 5px 25px #aaa;
|
269
|
+
-moz-box-shadow: -7px 5px 25px #aaa;
|
270
|
+
-moz-border-radius: 2px;
|
271
|
+
-webkit-border-radius: 2px;
|
272
|
+
}
|
273
|
+
|
274
|
+
#content ul.summary li.deprecated .summary_signature a:link,
|
275
|
+
#content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; }
|
276
|
+
|
277
|
+
#toc {
|
278
|
+
padding: 20px; padding-right: 30px; border: 1px solid #ddd; float: right; background: #fff; margin-left: 20px; margin-bottom: 20px;
|
279
|
+
max-width: 300px;
|
280
|
+
-webkit-box-shadow: -2px 2px 6px #bbb;
|
281
|
+
-moz-box-shadow: -2px 2px 6px #bbb;
|
282
|
+
z-index: 5000;
|
283
|
+
position: relative;
|
284
|
+
}
|
285
|
+
#toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
|
286
|
+
#toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
|
287
|
+
#toc .title { margin: 0; }
|
288
|
+
#toc ol { padding-left: 1.8em; }
|
289
|
+
#toc li { font-size: 1.1em; line-height: 1.7em; }
|
290
|
+
#toc > ol > li { font-size: 1.1em; font-weight: bold; }
|
291
|
+
#toc ol > ol { font-size: 0.9em; }
|
292
|
+
#toc ol ol > ol { padding-left: 2.3em; }
|
293
|
+
#toc ol + li { margin-top: 0.3em; }
|
294
|
+
#toc.hidden { padding: 10px; background: #f6f6f6; -webkit-box-shadow: none; -moz-box-shadow: none; }
|
295
|
+
#filecontents h1 + #toc.nofloat { margin-top: 0; }
|
296
|
+
|
297
|
+
/* syntax highlighting */
|
298
|
+
.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
|
299
|
+
#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
|
300
|
+
#filecontents pre.code, .docstring pre.code { display: block; }
|
301
|
+
.source_code .lines { padding-right: 12px; color: #555; text-align: right; }
|
302
|
+
#filecontents pre.code, .docstring pre.code,
|
303
|
+
.tags pre.example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #f5f5ff; }
|
304
|
+
pre.code { color: #000; }
|
305
|
+
pre.code .info.file { color: #555; }
|
306
|
+
pre.code .val { color: #036A07; }
|
307
|
+
pre.code .tstring_content,
|
308
|
+
pre.code .heredoc_beg, pre.code .heredoc_end,
|
309
|
+
pre.code .qwords_beg, pre.code .qwords_end,
|
310
|
+
pre.code .tstring, pre.code .dstring { color: #036A07; }
|
311
|
+
pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
|
312
|
+
pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
|
313
|
+
pre.code .dot + pre.code .id,
|
314
|
+
pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
|
315
|
+
pre.code .comment { color: #0066FF; }
|
316
|
+
pre.code .const, pre.code .constant { color: #585CF6; }
|
317
|
+
pre.code .symbol { color: #C5060B; }
|
318
|
+
pre.code .kw,
|
319
|
+
pre.code .label,
|
320
|
+
pre.code .rubyid_require,
|
321
|
+
pre.code .rubyid_extend,
|
322
|
+
pre.code .rubyid_include { color: #0000FF; }
|
323
|
+
pre.code .ivar { color: #318495; }
|
324
|
+
pre.code .gvar,
|
325
|
+
pre.code .rubyid_backref,
|
326
|
+
pre.code .rubyid_nth_ref { color: #6D79DE; }
|
327
|
+
pre.code .regexp, .dregexp { color: #036A07; }
|
328
|
+
pre.code a { border-bottom: 1px dotted #bbf; }
|
@@ -0,0 +1,161 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
|
+
<title>
|
7
|
+
File: README
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.2.1
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '';
|
20
|
+
framesUrl = "frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="_index.html">Index</a> »
|
35
|
+
<span class="title">File: README</span>
|
36
|
+
|
37
|
+
|
38
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id="search">
|
42
|
+
|
43
|
+
<a class="full_list_link" id="class_list_link"
|
44
|
+
href="class_list.html">
|
45
|
+
Class List
|
46
|
+
</a>
|
47
|
+
|
48
|
+
<a class="full_list_link" id="method_list_link"
|
49
|
+
href="method_list.html">
|
50
|
+
Method List
|
51
|
+
</a>
|
52
|
+
|
53
|
+
<a class="full_list_link" id="file_list_link"
|
54
|
+
href="file_list.html">
|
55
|
+
File List
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<iframe id="search_frame"></iframe>
|
63
|
+
|
64
|
+
<div id="content"><div id='filecontents'><h1>devdnsd</h1>
|
65
|
+
|
66
|
+
<p><a href="http://travis-ci.org/ShogunPanda/devdnsd"><img src="https://secure.travis-ci.org/ShogunPanda/devdnsd.png?branch=master" alt="Build Status"></a>
|
67
|
+
<a href="https://gemnasium.com/ShogunPanda/devdnsd"><img src="https://gemnasium.com/ShogunPanda/devdnsd.png?travis" alt="Dependency Status"></a></p>
|
68
|
+
|
69
|
+
<p>A small DNS server to enable local .dev domain resolution.</p>
|
70
|
+
|
71
|
+
<p><a href="http://github.com/ShogunPanda/devdnsd">http://github.com/ShogunPanda/devdnsd</a></p>
|
72
|
+
|
73
|
+
<h2>Description</h2>
|
74
|
+
|
75
|
+
<p>DevDNSd is a small DNS server which add a resolver to the system only for single TLD (by default, <strong>.dev</strong>). This way you can access your local application by typing every kind of url, i.e. <em>locallapp.dev</em>.</p>
|
76
|
+
|
77
|
+
<p>Of course, DevDNSd is inspired by <a href="https://github.com/37signals/pow">pow</a>, but it only provides DNS functionalities, delegating the setup of a web-server to the user.</p>
|
78
|
+
|
79
|
+
<h2>Basic usage</h2>
|
80
|
+
|
81
|
+
<ol>
|
82
|
+
<li><p>Install the gem:</p>
|
83
|
+
|
84
|
+
<p><code>gem install devdnsd</code></p></li>
|
85
|
+
<li><p>Install the service:</p>
|
86
|
+
|
87
|
+
<p><code>devdnsd install</code></p></li>
|
88
|
+
</ol>
|
89
|
+
|
90
|
+
<p><strong>You're done!</strong></p>
|
91
|
+
|
92
|
+
<h2>Advanced usage</h2>
|
93
|
+
|
94
|
+
<p>Just type <code>devdnsd help</code> and you'll see all available options.</p>
|
95
|
+
|
96
|
+
<h2>Configuration</h2>
|
97
|
+
|
98
|
+
<p>By defaults, DevDNSd uses a configuration file in <code>~/.devdnsd_config</code>, but you can change the path using the <code>--config</code> switch.</p>
|
99
|
+
|
100
|
+
<p>The file is a plain Ruby file with a single <code>config</code> object that supports the following directives.</p>
|
101
|
+
|
102
|
+
<ul>
|
103
|
+
<li><code>foreground</code>: If run the application in foreground.</li>
|
104
|
+
<li><code>address</code>: The IP to bind, 0.0.0.0 by default.</li>
|
105
|
+
<li><code>port</code>: The port to bind, 7771 by default.</li>
|
106
|
+
<li><code>tld</code>: The TLD to handle.</li>
|
107
|
+
<li><code>log_file</code>: The default log file. Not used if run in foreground.</li>
|
108
|
+
<li><code>log_level</code>: The default log level. Valid values are from 0 to 5 where 0 means "all messages".</li>
|
109
|
+
<li><code>add_rule</code>: Add a rule to the server. See section <em>Rules</em> below.</li>
|
110
|
+
</ul>
|
111
|
+
|
112
|
+
<h2>Rules</h2>
|
113
|
+
|
114
|
+
<p>DevDNSd has a nice rules system for matching name.
|
115
|
+
You can add rules by calling <code>config.add_rule(...)</code> into the configuration file.</p>
|
116
|
+
|
117
|
+
<p>The first argument of the function is the name you want to match. You can use regular expressions and this is highly recommended if you want to pass a block to the method (see below).</p>
|
118
|
+
|
119
|
+
<p>The second argument should be the IP associated to the name. If the first argument is a regexp with groups, you can use the standard Ruby <code>String#gsub</code> substitution syntax for the reply.
|
120
|
+
You can also use <code>false</code> to reject matching for this nameserver. In this case the next nameserver for the system will be used. You can skip this argument if you pass a block to the function.
|
121
|
+
If you return <code>nil</code> from the block, then you'll be responsible to set the response via the <a href="http://rubydoc.info/gems/rubydns/RubyDNS/Transaction"><code>transaction</code></a> variable.</p>
|
122
|
+
|
123
|
+
<p>The third argument can optionally be the record type for the resolv. By default is <code>:A</code>.
|
124
|
+
This argument is ignored if you pass the block, as it assumes that the second argument is the record type.</p>
|
125
|
+
|
126
|
+
<p>If you pass a block to the method, its return code will be taken as the result of the resolving. So if you return <code>false</code> then the resolving will be rejected. The block takes three arguments, <code>match</code>, <code>type</code> and <code>transaction</code>. If you used regular expression for the first argument, then <code>match</code> will contain all the match information for the name.</p>
|
127
|
+
|
128
|
+
<p>For some examples of rules, see the <code>config/devdnsd_config.sample</code> file into the repository.</p>
|
129
|
+
|
130
|
+
<h2>Remarks</h2>
|
131
|
+
|
132
|
+
<p>DevDNSd as a local resolver is tightly coupled with the OSX name resolution system, so it is only available for MacOSX.</p>
|
133
|
+
|
134
|
+
<p>You can, anyway, run the software as DNS server.</p>
|
135
|
+
|
136
|
+
<h2>Contributing to devdnsd</h2>
|
137
|
+
|
138
|
+
<ul>
|
139
|
+
<li>Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.</li>
|
140
|
+
<li>Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.</li>
|
141
|
+
<li>Fork the project.</li>
|
142
|
+
<li>Start a feature/bugfix branch.</li>
|
143
|
+
<li>Commit and push until you are happy with your contribution.</li>
|
144
|
+
<li>Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.</li>
|
145
|
+
<li>Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.</li>
|
146
|
+
</ul>
|
147
|
+
|
148
|
+
<h2>Copyright</h2>
|
149
|
+
|
150
|
+
<p>Copyright (C) 2012 and above Shogun <<a href="mailto:shogun_panda@me.com">shogun_panda@me.com</a>>.
|
151
|
+
Licensed under the MIT license, which can be found at <a href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a>.</p>
|
152
|
+
</div></div>
|
153
|
+
|
154
|
+
<div id="footer">
|
155
|
+
Generated on Wed Aug 22 13:48:31 2012 by
|
156
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
157
|
+
0.8.2.1 (ruby-1.9.2).
|
158
|
+
</div>
|
159
|
+
|
160
|
+
</body>
|
161
|
+
</html>
|