epp-client 0.0.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.simplecov +16 -0
  4. data/.travis.yml +11 -0
  5. data/.yardopts +4 -0
  6. data/Gemfile +20 -0
  7. data/Gemfile.lock +51 -0
  8. data/LICENSE +1 -1
  9. data/README.md +75 -0
  10. data/Rakefile +2 -37
  11. data/epp-client.gemspec +15 -58
  12. data/gemfiles/Gemfile.ruby18 +13 -0
  13. data/lib/epp-client.rb +94 -7
  14. data/lib/epp-client/client.rb +117 -20
  15. data/lib/epp-client/commands/check.rb +11 -0
  16. data/lib/epp-client/commands/command.rb +24 -0
  17. data/lib/epp-client/commands/create.rb +11 -0
  18. data/lib/epp-client/commands/delete.rb +11 -0
  19. data/lib/epp-client/commands/info.rb +11 -0
  20. data/lib/epp-client/commands/login.rb +40 -0
  21. data/lib/epp-client/commands/logout.rb +11 -0
  22. data/lib/epp-client/commands/poll.rb +28 -0
  23. data/lib/epp-client/commands/read_write_command.rb +18 -0
  24. data/lib/epp-client/commands/renew.rb +11 -0
  25. data/lib/epp-client/commands/transfer.rb +25 -0
  26. data/lib/epp-client/commands/update.rb +11 -0
  27. data/lib/epp-client/contact/check.rb +23 -0
  28. data/lib/epp-client/contact/check_response.rb +22 -0
  29. data/lib/epp-client/contact/command.rb +87 -0
  30. data/lib/epp-client/contact/create.rb +34 -0
  31. data/lib/epp-client/contact/create_response.rb +14 -0
  32. data/lib/epp-client/contact/delete.rb +21 -0
  33. data/lib/epp-client/contact/delete_response.rb +9 -0
  34. data/lib/epp-client/contact/info.rb +21 -0
  35. data/lib/epp-client/contact/info_response.rb +74 -0
  36. data/lib/epp-client/contact/response.rb +34 -0
  37. data/lib/epp-client/contact/transfer.rb +21 -0
  38. data/lib/epp-client/contact/transfer_response.rb +26 -0
  39. data/lib/epp-client/contact/update.rb +80 -0
  40. data/lib/epp-client/contact/update_response.rb +9 -0
  41. data/lib/epp-client/domain/check.rb +23 -0
  42. data/lib/epp-client/domain/check_response.rb +22 -0
  43. data/lib/epp-client/domain/command.rb +92 -0
  44. data/lib/epp-client/domain/create.rb +49 -0
  45. data/lib/epp-client/domain/create_response.rb +17 -0
  46. data/lib/epp-client/domain/delete.rb +21 -0
  47. data/lib/epp-client/domain/delete_response.rb +9 -0
  48. data/lib/epp-client/domain/info.rb +21 -0
  49. data/lib/epp-client/domain/info_response.rb +66 -0
  50. data/lib/epp-client/domain/renew.rb +34 -0
  51. data/lib/epp-client/domain/renew_response.rb +14 -0
  52. data/lib/epp-client/domain/response.rb +34 -0
  53. data/lib/epp-client/domain/transfer.rb +27 -0
  54. data/lib/epp-client/domain/transfer_response.rb +29 -0
  55. data/lib/epp-client/domain/update.rb +81 -0
  56. data/lib/epp-client/domain/update_response.rb +9 -0
  57. data/lib/epp-client/host/check.rb +23 -0
  58. data/lib/epp-client/host/check_response.rb +22 -0
  59. data/lib/epp-client/host/command.rb +47 -0
  60. data/lib/epp-client/host/create.rb +24 -0
  61. data/lib/epp-client/host/create_response.rb +14 -0
  62. data/lib/epp-client/host/delete.rb +21 -0
  63. data/lib/epp-client/host/delete_response.rb +9 -0
  64. data/lib/epp-client/host/info.rb +21 -0
  65. data/lib/epp-client/host/info_response.rb +42 -0
  66. data/lib/epp-client/host/response.rb +34 -0
  67. data/lib/epp-client/host/update.rb +76 -0
  68. data/lib/epp-client/host/update_response.rb +9 -0
  69. data/lib/epp-client/request.rb +29 -74
  70. data/lib/epp-client/requests/abstract.rb +30 -0
  71. data/lib/epp-client/requests/command.rb +28 -0
  72. data/lib/epp-client/requests/extension.rb +28 -0
  73. data/lib/epp-client/requests/hello.rb +12 -0
  74. data/lib/epp-client/response.rb +45 -8
  75. data/lib/epp-client/response_helper.rb +25 -0
  76. data/lib/epp-client/server.rb +167 -63
  77. data/lib/epp-client/testing.rb +59 -0
  78. data/lib/epp-client/version.rb +3 -0
  79. data/lib/epp-client/xml_helper.rb +71 -0
  80. data/test/commands/test_check_command.rb +33 -0
  81. data/test/commands/test_create_command.rb +53 -0
  82. data/test/commands/test_delete_command.rb +28 -0
  83. data/test/commands/test_info_command.rb +28 -0
  84. data/test/commands/test_login_command.rb +56 -0
  85. data/test/commands/test_logout_command.rb +22 -0
  86. data/test/commands/test_poll_command.rb +54 -0
  87. data/test/commands/test_renew_command.rb +39 -0
  88. data/test/commands/test_transfer_command.rb +37 -0
  89. data/test/commands/test_update_command.rb +60 -0
  90. data/test/contact/test_contact_check.rb +33 -0
  91. data/test/contact/test_contact_check_response.rb +38 -0
  92. data/test/contact/test_contact_create.rb +70 -0
  93. data/test/contact/test_contact_create_response.rb +33 -0
  94. data/test/contact/test_contact_delete.rb +28 -0
  95. data/test/contact/test_contact_delete_response.rb +23 -0
  96. data/test/contact/test_contact_info.rb +28 -0
  97. data/test/contact/test_contact_info_response.rb +100 -0
  98. data/test/contact/test_contact_transfer.rb +28 -0
  99. data/test/contact/test_contact_transfer_response.rb +100 -0
  100. data/test/contact/test_contact_update.rb +83 -0
  101. data/test/contact/test_contact_update_response.rb +23 -0
  102. data/test/domain/test_domain_check.rb +33 -0
  103. data/test/domain/test_domain_check_response.rb +38 -0
  104. data/test/domain/test_domain_create.rb +53 -0
  105. data/test/domain/test_domain_create_response.rb +39 -0
  106. data/test/domain/test_domain_delete.rb +28 -0
  107. data/test/domain/test_domain_delete_response.rb +23 -0
  108. data/test/domain/test_domain_info.rb +28 -0
  109. data/test/domain/test_domain_info_response.rb +107 -0
  110. data/test/domain/test_domain_renew.rb +39 -0
  111. data/test/domain/test_domain_renew_response.rb +32 -0
  112. data/test/domain/test_domain_transfer.rb +37 -0
  113. data/test/domain/test_domain_transfer_response.rb +112 -0
  114. data/test/domain/test_domain_update.rb +73 -0
  115. data/test/domain/test_domain_update_response.rb +23 -0
  116. data/test/fixtures/responses/contact/check.xml +27 -0
  117. data/test/fixtures/responses/contact/create.xml +19 -0
  118. data/test/fixtures/responses/contact/delete.xml +12 -0
  119. data/test/fixtures/responses/contact/info.xml +49 -0
  120. data/test/fixtures/responses/contact/transfer-query.xml +23 -0
  121. data/test/fixtures/responses/contact/transfer-request.xml +23 -0
  122. data/test/fixtures/responses/contact/update.xml +12 -0
  123. data/test/fixtures/responses/domain/check.xml +27 -0
  124. data/test/fixtures/responses/domain/create.xml +20 -0
  125. data/test/fixtures/responses/domain/delete.xml +12 -0
  126. data/test/fixtures/responses/domain/info-no-exDate.xml +38 -0
  127. data/test/fixtures/responses/domain/info.xml +39 -0
  128. data/test/fixtures/responses/domain/renew.xml +19 -0
  129. data/test/fixtures/responses/domain/transfer-query.xml +24 -0
  130. data/test/fixtures/responses/domain/transfer-request.xml +24 -0
  131. data/test/fixtures/responses/domain/update.xml +12 -0
  132. data/test/fixtures/responses/greeting.xml +25 -0
  133. data/test/fixtures/responses/host/check.xml +27 -0
  134. data/test/fixtures/responses/host/create.xml +19 -0
  135. data/test/fixtures/responses/host/delete.xml +12 -0
  136. data/test/fixtures/responses/host/info.xml +30 -0
  137. data/test/fixtures/responses/host/update.xml +12 -0
  138. data/test/helper.rb +89 -0
  139. data/test/host/test_host_check.rb +33 -0
  140. data/test/host/test_host_check_response.rb +38 -0
  141. data/test/host/test_host_create.rb +37 -0
  142. data/test/host/test_host_create_response.rb +33 -0
  143. data/test/host/test_host_delete.rb +28 -0
  144. data/test/host/test_host_delete_response.rb +23 -0
  145. data/test/host/test_host_info.rb +28 -0
  146. data/test/host/test_host_info_response.rb +72 -0
  147. data/test/host/test_host_update.rb +68 -0
  148. data/test/host/test_host_update_response.rb +23 -0
  149. data/test/requests/test_command_request.rb +16 -0
  150. data/test/requests/test_extension_request.rb +55 -0
  151. data/test/requests/test_hello_request.rb +15 -0
  152. data/test/support/schemas/all.xsd +21 -0
  153. data/test/support/schemas/contact-1.0.xsd +387 -0
  154. data/test/support/schemas/domain-1.0.xsd +432 -0
  155. data/test/support/schemas/epp-1.0.xsd +403 -0
  156. data/test/support/schemas/eppcom-1.0.xsd +93 -0
  157. data/test/support/schemas/host-1.0.xsd +240 -0
  158. data/test/test_client.rb +54 -0
  159. data/test/test_request.rb +15 -0
  160. data/test/test_server.rb +57 -0
  161. metadata +270 -91
  162. data/.document +0 -5
  163. data/README.rdoc +0 -17
  164. data/VERSION +0 -1
  165. data/lib/epp-client/hello_request.rb +0 -9
  166. data/test/test_epp-client.rb +0 -7
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 80878ef18fa5460776840d8c1c512a36cf48e8e6
4
+ data.tar.gz: bf787e1cf786d17c0f226e69d067e83c1c1867ff
5
+ SHA512:
6
+ metadata.gz: bed66d9db6da5af4ea69f2690446707358f945975c0b0ff970a8892cf64185488e1f94768d14e4d7b1957db090d221cf9f79b5cd8b500e0a9a9de626f41e6f30
7
+ data.tar.gz: 04fa093a95aa55c84e3094e64681788c44de675895ac36361b46a729d9941638d9e16eab7b62ff5f164d6b4969fbecd4bd52ce2aabea8ab5bdffeddc974d3697
@@ -0,0 +1,24 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ .bundle
18
+ coverage
19
+ rdoc
20
+ pkg
21
+
22
+ ## PROJECT::SPECIFIC
23
+ .yardoc
24
+ doc
@@ -0,0 +1,16 @@
1
+ SimpleCov.start do
2
+ add_group 'Core' do |src_file|
3
+ File.dirname(src_file.filename) =~ %r</lib(/epp-client)?$>
4
+ end
5
+
6
+ add_group 'Commands', 'lib/epp-client/commands'
7
+ add_group 'Requests', 'lib/epp-client/requests'
8
+ add_group 'Responses', 'lib/epp-client/responses'
9
+
10
+ add_group 'EPP Domain', 'lib/epp-client/domain'
11
+ add_group 'EPP Contact', 'lib/epp-client/contact'
12
+ add_group 'EPP Host', 'lib/epp-client/host'
13
+
14
+ add_filter '/.bundle/'
15
+ add_filter '/test/'
16
+ end
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+ bundler_args: --without doc coverage
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ matrix:
7
+ include:
8
+ - rvm: 1.8.7
9
+ gemfile: gemfiles/Gemfile.ruby18
10
+ - rvm: ree
11
+ gemfile: gemfiles/Gemfile.ruby18
@@ -0,0 +1,4 @@
1
+ lib/**/*.rb
2
+ -r README.md
3
+ -
4
+ LICENSE
data/Gemfile ADDED
@@ -0,0 +1,20 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in epp-client.gemspec
4
+ gemspec
5
+
6
+ gem 'rake'
7
+
8
+ group :doc do
9
+ gem 'yard'
10
+ gem 'redcarpet'
11
+ end
12
+
13
+ group :test do
14
+ gem 'shoulda'
15
+ gem 'mocha'
16
+ end
17
+
18
+ group :coverage do
19
+ gem 'simplecov', :platforms => [:ruby_19, :ruby_20, :rbx]
20
+ end
@@ -0,0 +1,51 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ epp-client (1.0.0)
5
+ libxml-ruby
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activesupport (4.0.0)
11
+ i18n (~> 0.6, >= 0.6.4)
12
+ minitest (~> 4.2)
13
+ multi_json (~> 1.3)
14
+ thread_safe (~> 0.1)
15
+ tzinfo (~> 0.3.37)
16
+ atomic (1.1.13)
17
+ i18n (0.6.5)
18
+ libxml-ruby (2.7.0)
19
+ metaclass (0.0.1)
20
+ minitest (4.7.5)
21
+ mocha (0.14.0)
22
+ metaclass (~> 0.0.1)
23
+ multi_json (1.7.9)
24
+ rake (10.1.0)
25
+ redcarpet (3.0.0)
26
+ shoulda (3.5.0)
27
+ shoulda-context (~> 1.0, >= 1.0.1)
28
+ shoulda-matchers (>= 1.4.1, < 3.0)
29
+ shoulda-context (1.1.5)
30
+ shoulda-matchers (2.3.0)
31
+ activesupport (>= 3.0.0)
32
+ simplecov (0.7.1)
33
+ multi_json (~> 1.0)
34
+ simplecov-html (~> 0.7.1)
35
+ simplecov-html (0.7.1)
36
+ thread_safe (0.1.2)
37
+ atomic
38
+ tzinfo (0.3.37)
39
+ yard (0.8.7)
40
+
41
+ PLATFORMS
42
+ ruby
43
+
44
+ DEPENDENCIES
45
+ epp-client!
46
+ mocha
47
+ rake
48
+ redcarpet
49
+ shoulda
50
+ simplecov
51
+ yard
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010 Geoff Garside
1
+ Copyright (c) 2010 Geoff Garside (M247 Ltd)
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -0,0 +1,75 @@
1
+ # EPP Client
2
+
3
+ Client for communicating with EPP services
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'epp-client'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install epp-client
18
+
19
+ ## Usage
20
+
21
+ client = EPP::Client.new('username', 'password', 'epp.server.com')
22
+ client.hello
23
+ puts client._last_request.inspect
24
+ puts client._last_response.inspect
25
+
26
+ Any other methods called on `client` will be passed through to an
27
+ authenticated EPP server connection. As a quick example, either a
28
+ string of XML, an XML::Node or XML::Document can be passed or a
29
+ block may be used
30
+
31
+ ### domain:check using string payload
32
+
33
+ client.check <<-EOXML
34
+ <domain:check
35
+ xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
36
+ <domain:name>example.com</domain:name>
37
+ <domain:name>example.net</domain:name>
38
+ <domain:name>example.org</domain:name>
39
+ </domain:check>
40
+ EOXML
41
+
42
+ ### domain:check using XML::Node payload
43
+
44
+ xml = XML::Node.new('check')
45
+ ns = XML::Namespace.new(xml, 'domain', 'urn:ietf:params:xml:ns:domain-1.0')
46
+ xml.namespaces.namespace = ns
47
+
48
+ %w(example.com example.net example.org).each do |name|
49
+ xml << XML::Node.new('name', name, ns)
50
+ end
51
+
52
+ client.check xml
53
+
54
+ ### domain:check using block
55
+
56
+ client.check do |xml|
57
+ xml << (check = XML::Node.new('check'))
58
+ ns = XML::Namespace.new(check, 'domain', 'urn:ietf:params:xml:ns:domain-1.0')
59
+ check.namespaces.namespace = ns
60
+
61
+ %w(example.com example.net example.org).each do |name|
62
+ check << XML::Node.new('name', name, ns)
63
+ end
64
+ end
65
+
66
+ If you leave off the block parameter then the return value of the block will be
67
+ inserted into the `xml`.
68
+
69
+ ## Contributing
70
+
71
+ 1. Fork it
72
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
73
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
74
+ 4. Push to the branch (`git push origin my-new-feature`)
75
+ 5. Create new Pull Request
data/Rakefile CHANGED
@@ -1,25 +1,5 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "epp-client"
8
- gem.summary = %Q{EPP (Extensible Provisioning Protocol) Client}
9
- gem.description = %Q{Client for communicating with EPP services}
10
- gem.email = "geoff@geoffgarside.co.uk"
11
- gem.homepage = "http://github.com/geoffgarside/epp-client"
12
- gem.authors = ["Geoff Garside"]
13
- gem.add_development_dependency "shoulda", ">= 0"
14
- gem.add_development_dependency "yard", ">= 0"
15
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
-
17
- gem.add_dependency "libxml-ruby", ">= 0"
18
- end
19
- Jeweler::GemcutterTasks.new
20
- rescue LoadError
21
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
- end
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
23
3
 
24
4
  require 'rake/testtask'
25
5
  Rake::TestTask.new(:test) do |test|
@@ -28,21 +8,6 @@ Rake::TestTask.new(:test) do |test|
28
8
  test.verbose = true
29
9
  end
30
10
 
31
- begin
32
- require 'rcov/rcovtask'
33
- Rcov::RcovTask.new do |test|
34
- test.libs << 'test'
35
- test.pattern = 'test/**/test_*.rb'
36
- test.verbose = true
37
- end
38
- rescue LoadError
39
- task :rcov do
40
- abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
41
- end
42
- end
43
-
44
- task :test => :check_dependencies
45
-
46
11
  task :default => :test
47
12
 
48
13
  begin
@@ -1,64 +1,21 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/epp-client/version', __FILE__)
5
3
 
6
- Gem::Specification.new do |s|
7
- s.name = %q{epp-client}
8
- s.version = "0.0.3"
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Geoff Garside"]
6
+ gem.email = ["geoff@geoffgarside.co.uk"]
7
+ gem.description = %q{Client for communicating with EPP services}
8
+ gem.summary = %q{EPP (Extensible Provisioning Protocol) Client}
9
+ gem.homepage = "https://github.com/m247/epp-client"
9
10
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Geoff Garside"]
12
- s.date = %q{2011-04-21}
13
- s.description = %q{Client for communicating with EPP services}
14
- s.email = %q{geoff@geoffgarside.co.uk}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- "LICENSE",
22
- "README.rdoc",
23
- "Rakefile",
24
- "VERSION",
25
- "epp-client.gemspec",
26
- "lib/epp-client.rb",
27
- "lib/epp-client/client.rb",
28
- "lib/epp-client/hello_request.rb",
29
- "lib/epp-client/old_server.rb",
30
- "lib/epp-client/request.rb",
31
- "lib/epp-client/response.rb",
32
- "lib/epp-client/response_error.rb",
33
- "lib/epp-client/server.rb",
34
- "test/helper.rb",
35
- "test/test_epp-client.rb"
36
- ]
37
- s.homepage = %q{http://github.com/geoffgarside/epp-client}
38
- s.require_paths = ["lib"]
39
- s.rubygems_version = %q{1.7.2}
40
- s.summary = %q{EPP (Extensible Provisioning Protocol) Client}
41
- s.test_files = [
42
- "test/helper.rb",
43
- "test/test_epp-client.rb"
44
- ]
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = "epp-client"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = EPP::VERSION
45
17
 
46
- if s.respond_to? :specification_version then
47
- s.specification_version = 3
18
+ gem.extra_rdoc_files = %w(LICENSE README.md)
48
19
 
49
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
- s.add_development_dependency(%q<shoulda>, [">= 0"])
51
- s.add_development_dependency(%q<yard>, [">= 0"])
52
- s.add_runtime_dependency(%q<libxml-ruby>, [">= 0"])
53
- else
54
- s.add_dependency(%q<shoulda>, [">= 0"])
55
- s.add_dependency(%q<yard>, [">= 0"])
56
- s.add_dependency(%q<libxml-ruby>, [">= 0"])
57
- end
58
- else
59
- s.add_dependency(%q<shoulda>, [">= 0"])
60
- s.add_dependency(%q<yard>, [">= 0"])
61
- s.add_dependency(%q<libxml-ruby>, [">= 0"])
62
- end
20
+ gem.add_dependency 'libxml-ruby'
63
21
  end
64
-
@@ -0,0 +1,13 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in epp-client.gemspec
4
+ gemspec :path => '../'
5
+
6
+ gem 'rake'
7
+ gem 'activesupport', '~> 3.2.14'
8
+
9
+ group :test do
10
+ gem 'shoulda-matchers', '~> 1.5.6'
11
+ gem 'shoulda'
12
+ gem 'mocha'
13
+ end
@@ -1,14 +1,101 @@
1
1
  require 'openssl'
2
2
  require 'socket'
3
+ require 'time'
3
4
  require 'xml'
4
5
 
6
+ require File.expand_path('../epp-client/version', __FILE__)
7
+
5
8
  # EPP Module
6
9
  module EPP
7
- autoload :Client, File.dirname(__FILE__) + '/epp-client/client.rb'
8
- autoload :Server, File.dirname(__FILE__) + '/epp-client/server.rb'
9
- autoload :OldServer, File.dirname(__FILE__) + '/epp-client/old_server.rb'
10
- autoload :Request, File.dirname(__FILE__) + '/epp-client/request.rb'
11
- autoload :Response, File.dirname(__FILE__) + '/epp-client/response.rb'
12
- autoload :ResponseError, File.dirname(__FILE__) + '/epp-client/response_error.rb'
13
- autoload :HelloRequest, File.dirname(__FILE__) + '/epp-client/hello_request.rb'
10
+ # Generic error class for all EPP errors
11
+ class Error < RuntimeError; end
14
12
  end
13
+
14
+ require File.expand_path('../epp-client/xml_helper.rb', __FILE__)
15
+ require File.expand_path('../epp-client/response_helper.rb', __FILE__)
16
+
17
+ module EPP
18
+ autoload :OldServer, File.expand_path('../epp-client/old_server.rb', __FILE__)
19
+
20
+ module Requests
21
+ autoload :Hello, File.expand_path('../epp-client/requests/hello.rb', __FILE__)
22
+ autoload :Command, File.expand_path('../epp-client/requests/command.rb', __FILE__)
23
+ autoload :Extension, File.expand_path('../epp-client/requests/extension.rb', __FILE__)
24
+ end
25
+
26
+ module Commands
27
+ autoload :Check, File.expand_path('../epp-client/commands/check.rb', __FILE__)
28
+ autoload :Create, File.expand_path('../epp-client/commands/create.rb', __FILE__)
29
+ autoload :Delete, File.expand_path('../epp-client/commands/delete.rb', __FILE__)
30
+ autoload :Info, File.expand_path('../epp-client/commands/info.rb', __FILE__)
31
+ autoload :Login, File.expand_path('../epp-client/commands/login.rb', __FILE__)
32
+ autoload :Logout, File.expand_path('../epp-client/commands/logout.rb', __FILE__)
33
+ autoload :Poll, File.expand_path('../epp-client/commands/poll.rb', __FILE__)
34
+ autoload :Renew, File.expand_path('../epp-client/commands/renew.rb', __FILE__)
35
+ autoload :Transfer, File.expand_path('../epp-client/commands/transfer.rb', __FILE__)
36
+ autoload :Update, File.expand_path('../epp-client/commands/update.rb', __FILE__)
37
+ end
38
+
39
+ module Domain
40
+ NAMESPACE = 'urn:ietf:params:xml:ns:domain-1.0'
41
+ SCHEMA_LOCATION = 'urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd'
42
+
43
+ autoload :Check, File.expand_path('../epp-client/domain/check.rb', __FILE__)
44
+ autoload :Create, File.expand_path('../epp-client/domain/create.rb', __FILE__)
45
+ autoload :Delete, File.expand_path('../epp-client/domain/delete.rb', __FILE__)
46
+ autoload :Info, File.expand_path('../epp-client/domain/info.rb', __FILE__)
47
+ autoload :Renew, File.expand_path('../epp-client/domain/renew.rb', __FILE__)
48
+ autoload :Transfer, File.expand_path('../epp-client/domain/transfer.rb', __FILE__)
49
+ autoload :Update, File.expand_path('../epp-client/domain/update.rb', __FILE__)
50
+
51
+ autoload :CheckResponse, File.expand_path('../epp-client/domain/check_response.rb', __FILE__)
52
+ autoload :CreateResponse, File.expand_path('../epp-client/domain/create_response.rb', __FILE__)
53
+ autoload :DeleteResponse, File.expand_path('../epp-client/domain/delete_response.rb', __FILE__)
54
+ autoload :InfoResponse, File.expand_path('../epp-client/domain/info_response.rb', __FILE__)
55
+ autoload :RenewResponse, File.expand_path('../epp-client/domain/renew_response.rb', __FILE__)
56
+ autoload :TransferResponse, File.expand_path('../epp-client/domain/transfer_response.rb', __FILE__)
57
+ autoload :UpdateResponse, File.expand_path('../epp-client/domain/update_response.rb', __FILE__)
58
+ end
59
+
60
+ module Contact
61
+ NAMESPACE = 'urn:ietf:params:xml:ns:contact-1.0'
62
+ SCHEMA_LOCATION = 'urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd'
63
+
64
+ autoload :Check, File.expand_path('../epp-client/contact/check.rb', __FILE__)
65
+ autoload :Create, File.expand_path('../epp-client/contact/create.rb', __FILE__)
66
+ autoload :Delete, File.expand_path('../epp-client/contact/delete.rb', __FILE__)
67
+ autoload :Info, File.expand_path('../epp-client/contact/info.rb', __FILE__)
68
+ autoload :Transfer, File.expand_path('../epp-client/contact/transfer.rb', __FILE__)
69
+ autoload :Update, File.expand_path('../epp-client/contact/update.rb', __FILE__)
70
+
71
+ autoload :CheckResponse, File.expand_path('../epp-client/contact/check_response.rb', __FILE__)
72
+ autoload :CreateResponse, File.expand_path('../epp-client/contact/create_response.rb', __FILE__)
73
+ autoload :DeleteResponse, File.expand_path('../epp-client/contact/delete_response.rb', __FILE__)
74
+ autoload :InfoResponse, File.expand_path('../epp-client/contact/info_response.rb', __FILE__)
75
+ autoload :TransferResponse, File.expand_path('../epp-client/contact/transfer_response.rb', __FILE__)
76
+ autoload :UpdateResponse, File.expand_path('../epp-client/contact/update_response.rb', __FILE__)
77
+ end
78
+
79
+ module Host
80
+ NAMESPACE = 'urn:ietf:params:xml:ns:host-1.0'
81
+ SCHEMA_LOCATION = 'urn:ietf:params:xml:ns:host-1.0 host-1.0.xsd'
82
+
83
+ autoload :Check, File.expand_path('../epp-client/host/check.rb', __FILE__)
84
+ autoload :Create, File.expand_path('../epp-client/host/create.rb', __FILE__)
85
+ autoload :Delete, File.expand_path('../epp-client/host/delete.rb', __FILE__)
86
+ autoload :Info, File.expand_path('../epp-client/host/info.rb', __FILE__)
87
+ autoload :Update, File.expand_path('../epp-client/host/update.rb', __FILE__)
88
+
89
+ autoload :CheckResponse, File.expand_path('../epp-client/host/check_response.rb', __FILE__)
90
+ autoload :CreateResponse, File.expand_path('../epp-client/host/create_response.rb', __FILE__)
91
+ autoload :DeleteResponse, File.expand_path('../epp-client/host/delete_response.rb', __FILE__)
92
+ autoload :InfoResponse, File.expand_path('../epp-client/host/info_response.rb', __FILE__)
93
+ autoload :UpdateResponse, File.expand_path('../epp-client/host/update_response.rb', __FILE__)
94
+ end
95
+ end
96
+
97
+ require File.expand_path('../epp-client/client', __FILE__)
98
+ require File.expand_path('../epp-client/server.rb', __FILE__)
99
+ require File.expand_path('../epp-client/request.rb', __FILE__)
100
+ require File.expand_path('../epp-client/response.rb', __FILE__)
101
+ require File.expand_path('../epp-client/response_error.rb', __FILE__)