pdns-remotebackend 0.0.5 → 0.0.6

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 CHANGED
@@ -51,16 +51,40 @@ To start a pipe or unix server, do
51
51
 
52
52
  In addition to stubs for remotebackend, the Pdns::Remotebackend::Handler has following helpers for making records
53
53
 
54
- def record_prio_ttl(qtype,qname,content,prio,ttl,auth=1)
54
+ # Generates a hash of resource record
55
+ #
56
+ # @param [String] qname name of record
57
+ # @param [String] qtype type of record
58
+ # @param [String] content record contents
59
+ # @param [Integer] prio Record priority
60
+ # @param [Integer] ttl Record TTL
61
+ # @param [Integer] auth Whether we are authoritative for the record or not
62
+ # @return [Hash] A resource record hash
63
+ def record_prio_ttl(qname,qtype,content,prio,ttl,auth=1)
55
64
  {:qtype => qtype, :qname => qname, :content => content, :priority => prio, :ttl => ttl, :auth => auth}
56
65
  end
57
-
58
- def record_prio(qtype,qname,content,prio,auth=1)
59
- record_prio_ttl(qtype,qname,content,prio,@ttl,auth)
66
+
67
+ # Generates a hash of resource record
68
+ #
69
+ # @param [String] qname name of record
70
+ # @param [String] qtype type of record
71
+ # @param [String] content record contents
72
+ # @param [Integer] prio Record priority
73
+ # @param [Integer] auth Whether we are authoritative for the record or not
74
+ # @return [Hash] A resource record hash
75
+ def record_prio(qname,qtype,content,prio,auth=1)
76
+ record_prio_ttl(qname,qtype,content,prio,@ttl,auth)
60
77
  end
61
-
62
- def record(qtype,qname,content,auth=1)
63
- record_prio_ttl(qtype,qname,content,0,@ttl,auth)
78
+
79
+ # Generates a hash of resource record
80
+ #
81
+ # @param [String] qname name of record
82
+ # @param [String] qtype type of record
83
+ # @param [String] content record contents
84
+ # @param [Integer] auth Whether we are authoritative for the record or not
85
+ # @return [Hash] A resource record hash
86
+ def record(qname,qtype,content,auth=1)
87
+ record_prio_ttl(qname,qtype,content,0,@ttl,auth)
64
88
  end
65
89
 
66
90
  ## Contributing
@@ -1,5 +1,5 @@
1
1
  module Pdns
2
2
  module Remotebackend
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
@@ -146,56 +146,55 @@ module Pdns
146
146
  #
147
147
  # @param [Socket] reader Socket to read from'
148
148
  # @param [Socket] writer Socket to write to
149
- protected
150
149
  def mainloop(reader,writer)
151
150
  h = @handler.new
152
151
 
153
- begin
154
- reader.each_line do |line|
155
- # expect json
156
- input = {}
157
- line = line.strip
158
- next if line.empty?
159
- begin
160
- input = JSON.parse(line)
161
- method = "do_#{input["method"].downcase}"
162
- args = input["parameters"] || {}
163
-
164
- h.result = false
165
- h.log = []
166
-
167
- if h.respond_to?(method.to_sym) == false
168
- res = false
169
- else
170
- h.send(method,args)
171
- end
172
-
173
- writer.puts ({:result => h.result, :log => h.log}).to_json
174
- rescue JSON::ParserError
175
- writer.puts ({:result => false, :log => "Cannot parse input #{line}"}).to_json
176
- next
152
+ reader.each_line do |line|
153
+ # expect json
154
+ input = {}
155
+ line = line.strip
156
+ next if line.empty?
157
+ begin
158
+ input = JSON.parse(line)
159
+ method = "do_#{input["method"].downcase}"
160
+ args = input["parameters"] || {}
161
+ h.result = false
162
+ h.log = []
163
+ if h.respond_to?(method.to_sym) == false
164
+ res = false
165
+ else
166
+ h.send(method,args)
177
167
  end
168
+ writer.puts ({:result => h.result, :log => h.log}).to_json
169
+ rescue JSON::ParserError
170
+ writer.puts ({:result => false, :log => "Cannot parse input #{line}"}).to_json
171
+ next
178
172
  end
179
- rescue SystemExit, Interrupt
180
- end
173
+ end
181
174
  end
182
175
  end
183
176
 
184
177
  class Pipe < Connector
185
178
  def run
186
- mainloop STDIN,STDOUT
179
+ begin
180
+ mainloop STDIN,STDOUT
181
+ rescue SystemExit, Interrupt
182
+ end
187
183
  end
188
184
  end
189
185
 
190
186
  class Unix < Connector
191
187
  def run
192
- @path = options[:path] || "/tmp/remotebackend.sock"
193
- Socket.unix_server_loop(@path) do |sock, client_addrinfo|
194
- begin
195
- mainloop sock, sock
196
- ensure
197
- sock.close
188
+ @path = @options[:path] || "/tmp/remotebackend.sock"
189
+ begin
190
+ Socket.unix_server_loop(@path) do |sock, client_addrinfo|
191
+ begin
192
+ mainloop sock, sock
193
+ ensure
194
+ sock.close
195
+ end
198
196
  end
197
+ rescue SystemExit, Interrupt
199
198
  end
200
199
  end
201
200
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdns-remotebackend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &6907400 !ruby/object:Gem::Requirement
16
+ requirement: &6941400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *6907400
24
+ version_requirements: *6941400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &6906980 !ruby/object:Gem::Requirement
27
+ requirement: &6940980 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *6906980
35
+ version_requirements: *6940980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &6906560 !ruby/object:Gem::Requirement
38
+ requirement: &6940560 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *6906560
46
+ version_requirements: *6940560
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: redcarpet
49
- requirement: &6906140 !ruby/object:Gem::Requirement
49
+ requirement: &6940140 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *6906140
57
+ version_requirements: *6940140
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: json
60
- requirement: &6905720 !ruby/object:Gem::Requirement
60
+ requirement: &6939720 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *6905720
68
+ version_requirements: *6939720
69
69
  description: This gem provides a base class and helpers for writing remotebackend
70
70
  servers for pipe/unix/. It is intended to make using remotebackend easier. For http
71
71
  support, see pdns-remotebackend-http.