epp 1.3.2 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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: []