nominet-epp 0.0.2 → 0.0.3
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/History.md +37 -0
- data/VERSION +1 -1
- data/lib/nominet-epp/operations/poll.rb +35 -10
- data/nominet-epp.gemspec +3 -2
- metadata +5 -4
data/History.md
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
0.0.3 / 2011-01-17
|
2
|
+
==================
|
3
|
+
|
4
|
+
* Tweak how #poll method works w.r.t blocks
|
5
|
+
|
6
|
+
0.0.2 / 2011-01-07
|
7
|
+
==================
|
8
|
+
|
9
|
+
* Add Documentation
|
10
|
+
* Support the 'abuse-limit' on Nominet check operation
|
11
|
+
* Fix issue with info operation XML response parsing
|
12
|
+
|
13
|
+
0.0.1 / 2010-05-26
|
14
|
+
==================
|
15
|
+
|
16
|
+
* Add support for 'none' and 'all' options on list operation
|
17
|
+
* Fix bugs in info operation for account objects
|
18
|
+
* Improve handling of XML namespaces and schema locations
|
19
|
+
|
20
|
+
0.0.0 / 2010-05-25
|
21
|
+
==================
|
22
|
+
|
23
|
+
* Initial release
|
24
|
+
* Supports the following operations
|
25
|
+
* Create
|
26
|
+
* Delete
|
27
|
+
* Fork
|
28
|
+
* Hello
|
29
|
+
* Info
|
30
|
+
* List
|
31
|
+
* Lock
|
32
|
+
* Merge
|
33
|
+
* Poll
|
34
|
+
* Transfer
|
35
|
+
* Unlock
|
36
|
+
* Unrenew
|
37
|
+
* Update
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
@@ -2,23 +2,41 @@ module NominetEPP
|
|
2
2
|
module Operations
|
3
3
|
# EPP Poll Operation
|
4
4
|
module Poll
|
5
|
-
|
5
|
+
class AckError < RuntimeError; end
|
6
|
+
|
7
|
+
# Poll the EPP server for events.
|
8
|
+
#
|
9
|
+
# If a block is given then it will be invoked once for
|
10
|
+
# each pending event. If no block is given the only the
|
11
|
+
# first received event will be returned along with the
|
12
|
+
# message ID of the event to allow the message to be
|
13
|
+
# ack'd. nil is returned if there is an error in the
|
14
|
+
# response or if there are not further messages to process.
|
15
|
+
#
|
16
|
+
# @example Without a block
|
17
|
+
# msgID, xml = client.poll
|
18
|
+
# ... process xml ...
|
19
|
+
# client.ack(msgID)
|
20
|
+
#
|
21
|
+
# @example With a block
|
22
|
+
# client.poll do |xml|
|
23
|
+
# ... process xml ...
|
24
|
+
# end
|
6
25
|
#
|
7
26
|
# @yield [data] process data if messages to poll
|
8
27
|
# @yieldparam [XML::Node] data Response data
|
9
28
|
# @return [nil] no messages to handle
|
10
|
-
# @return [
|
29
|
+
# @return [Array<String,XML::Node>] message ID and response xml data
|
30
|
+
# @raise [AckError] ack of event notification failed
|
11
31
|
# @see ack
|
12
32
|
def poll
|
13
|
-
resp =
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
return if resp.code != 1301 || resp.msgQ['count'] == '0'
|
18
|
-
|
19
|
-
yield resp.data
|
33
|
+
while resp = poll_req
|
34
|
+
return if resp.code != 1301 || resp.msgQ['count'] == '0'
|
35
|
+
return [resp.msgQ['id'], resp.data] unless block_given?
|
20
36
|
|
21
|
-
|
37
|
+
yield resp.data
|
38
|
+
raise AckError, "failed to acknowledge message #{resp.msgQ['id']}" unless ack(resp.msgQ['id'])
|
39
|
+
end
|
22
40
|
end
|
23
41
|
|
24
42
|
# Acknowledges a polled message ID
|
@@ -33,6 +51,13 @@ module NominetEPP
|
|
33
51
|
|
34
52
|
return resp.success?
|
35
53
|
end
|
54
|
+
|
55
|
+
protected
|
56
|
+
def poll_req
|
57
|
+
@client.poll do |poll|
|
58
|
+
poll['op'] = 'req'
|
59
|
+
end
|
60
|
+
end
|
36
61
|
end
|
37
62
|
end
|
38
63
|
end
|
data/nominet-epp.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{nominet-epp}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Geoff Garside"]
|
12
|
-
s.date = %q{2011-01-
|
12
|
+
s.date = %q{2011-01-17}
|
13
13
|
s.description = %q{Client for communicating with the Nominet EPP}
|
14
14
|
s.email = %q{geoff@geoffgarside.co.uk}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
+
"History.md",
|
21
22
|
"LICENSE",
|
22
23
|
"README.rdoc",
|
23
24
|
"Rakefile",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nominet-epp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Geoff Garside
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-01-
|
18
|
+
date: 2011-01-17 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -71,6 +71,7 @@ extra_rdoc_files:
|
|
71
71
|
- README.rdoc
|
72
72
|
files:
|
73
73
|
- .document
|
74
|
+
- History.md
|
74
75
|
- LICENSE
|
75
76
|
- README.rdoc
|
76
77
|
- Rakefile
|