epp 1.3.2 → 1.4.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.
data/Rakefile CHANGED
@@ -16,6 +16,7 @@ begin
16
16
  gem.add_development_dependency "shoulda"
17
17
  gem.add_development_dependency "mocha"
18
18
  gem.add_dependency "hpricot"
19
+ gem.add_dependency "libxml-ruby"
19
20
  end
20
21
  rescue LoadError
21
22
  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.2
1
+ 1.4.0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{epp}
8
- s.version = "1.3.2"
8
+ s.version = "1.4.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Josh Delsman"]
@@ -57,15 +57,18 @@ Gem::Specification.new do |s|
57
57
  s.add_development_dependency(%q<shoulda>, [">= 0"])
58
58
  s.add_development_dependency(%q<mocha>, [">= 0"])
59
59
  s.add_runtime_dependency(%q<hpricot>, [">= 0"])
60
+ s.add_runtime_dependency(%q<libxml-ruby>, [">= 0"])
60
61
  else
61
62
  s.add_dependency(%q<shoulda>, [">= 0"])
62
63
  s.add_dependency(%q<mocha>, [">= 0"])
63
64
  s.add_dependency(%q<hpricot>, [">= 0"])
65
+ s.add_dependency(%q<libxml-ruby>, [">= 0"])
64
66
  end
65
67
  else
66
68
  s.add_dependency(%q<shoulda>, [">= 0"])
67
69
  s.add_dependency(%q<mocha>, [">= 0"])
68
70
  s.add_dependency(%q<hpricot>, [">= 0"])
71
+ s.add_dependency(%q<libxml-ruby>, [">= 0"])
69
72
  end
70
73
  end
71
74
 
data/lib/epp.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # Gem and other dependencies
2
2
  require 'rubygems'
3
3
  require 'openssl'
4
- require 'rexml/document'
4
+ require 'libxml'
5
5
  require 'hpricot'
6
6
  require 'uuidtools'
7
7
 
@@ -1,6 +1,6 @@
1
1
  module Epp #:nodoc:
2
2
  class Server
3
- include REXML
3
+ include LibXML::XML
4
4
  include RequiresParameters
5
5
 
6
6
  attr_accessor :tag, :password, :server, :port, :lang, :services, :extensions, :version
@@ -34,14 +34,12 @@ module Epp #:nodoc:
34
34
  end
35
35
 
36
36
  def new_epp_request
37
- xml = Document.new
38
- xml << XMLDecl.new("1.0", "UTF-8", "no")
37
+ xml = Document.new
38
+ xml.root = Node.new("epp")
39
39
 
40
- xml.add_element("epp", {
41
- "xmlns" => "urn:ietf:params:xml:ns:epp-1.0",
42
- "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
43
- "xsi:schemaLocation" => "urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"
44
- })
40
+ xml.root["xmlns"] = "urn:ietf:params:xml:ns:epp-1.0"
41
+ xml.root["xmlns:xsi"] = "http://www.w3.org/2001/XMLSchema-instance"
42
+ xml.root["xsi:schemaLocation"] = "urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"
45
43
 
46
44
  return xml
47
45
  end
@@ -140,30 +138,32 @@ module Epp #:nodoc:
140
138
 
141
139
  xml = new_epp_request
142
140
 
143
- command = xml.root.add_element("command")
144
- login = command.add_element("login")
141
+ xml.root << command = Node.new("command")
142
+ command << login = Node.new("login")
145
143
 
146
- login.add_element("clID").text = tag
147
- login.add_element("pw").text = password
144
+ login << Node.new("clID", tag)
145
+ login << Node.new("pw", password)
148
146
 
149
- options = login.add_element("options")
150
- options.add_element("version").text = version
151
- options.add_element("lang").text = lang
147
+ login << options = Node.new("options")
152
148
 
153
- services = login.add_element("svcs")
154
- services.add_element("objURI").text = "urn:ietf:params:xml:ns:domain-1.0"
155
- services.add_element("objURI").text = "urn:ietf:params:xml:ns:contact-1.0"
156
- services.add_element("objURI").text = "urn:ietf:params:xml:ns:host-1.0"
149
+ options << Node.new("version", version)
150
+ options << Node.new("lang", lang)
157
151
 
158
- extensions_container = services.add_element("svcExtension") unless extensions.empty?
152
+ login << services = Node.new("svcs")
153
+
154
+ services << Node.new("objURI", "urn:ietf:params:xml:ns:domain-1.0")
155
+ services << Node.new("objURI", "urn:ietf:params:xml:ns:contact-1.0")
156
+ services << Node.new("objURI", "urn:ietf:params:xml:ns:host-1.0")
157
+
158
+ services << extensions_container = Node.new("svcExtension") unless extensions.empty?
159
159
 
160
160
  for uri in extensions
161
- extensions_container.add_element("extURI").text = uri
161
+ extensions_container << Node.new("extURI", uri)
162
162
  end
163
163
 
164
- command.add_element("clTRID").text = UUIDTools::UUID.timestamp_create.to_s
164
+ command << Node.new("clTRID", UUIDTools::UUID.timestamp_create.to_s)
165
165
 
166
- response = Hpricot.XML(send_request(xml.to_s))
166
+ response = Hpricot::XML(send_request(xml.to_s))
167
167
 
168
168
  handle_response(response)
169
169
  end
@@ -174,12 +174,12 @@ module Epp #:nodoc:
174
174
 
175
175
  xml = new_epp_request
176
176
 
177
- command = xml.root.add_element("command")
177
+ xml.root << command = Node.new("command")
178
178
 
179
- command.add_element("logout")
180
- command.add_element("clTRID").text = UUIDTools::UUID.timestamp_create.to_s
179
+ command << login = Node.new("logout")
180
+ command << Node.new("clTRID", UUIDTools::UUID.timestamp_create.to_s)
181
181
 
182
- response = Hpricot.XML(send_request(xml.to_s))
182
+ response = Hpricot::XML(send_request(xml.to_s))
183
183
 
184
184
  handle_response(response, 1500)
185
185
  end
@@ -61,7 +61,7 @@ class EppTest < Test::Unit::TestCase
61
61
  should "build a new XML request" do
62
62
  xml = xml_file("new_request.xml")
63
63
 
64
- assert @epp.new_epp_request.is_a?(REXML::Document)
64
+ assert @epp.new_epp_request.is_a?(LibXML::XML::Document)
65
65
  assert_equal xml, @epp.new_epp_request.to_s
66
66
  end
67
67
 
@@ -1 +1,2 @@
1
- <?xml version='1.0' encoding='UTF-8' standalone='no'?><epp xsi:schemaLocation='urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='urn:ietf:params:xml:ns:epp-1.0'/>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"/>
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epp
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
- - 3
9
- - 2
10
- version: 1.3.2
8
+ - 4
9
+ - 0
10
+ version: 1.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Josh Delsman
@@ -60,6 +60,20 @@ dependencies:
60
60
  version: "0"
61
61
  type: :runtime
62
62
  version_requirements: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ name: libxml-ruby
65
+ prerelease: false
66
+ requirement: &id004 !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 0
74
+ version: "0"
75
+ type: :runtime
76
+ version_requirements: *id004
63
77
  description: Basic functionality for connecting and making requests on EPP (Extensible Provisioning Protocol) servers
64
78
  email: jdelsman@ultraspeed.com
65
79
  executables: []