epp-client-smallregistry 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +5 -0
- data/EXAMPLE.SMALLREGISTRY +61 -0
- data/Gemfile +6 -0
- data/MIT-LICENSE +19 -0
- data/README +5 -0
- data/Rakefile +37 -0
- data/epp-client-smallregistry.gemspec +36 -0
- data/lib/epp-client/smallregistry.rb +174 -0
- data/vendor/smallregistry/sr-1.0.xsd +76 -0
- metadata +140 -0
data/ChangeLog
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'pp'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'epp-client/smallregistry'
|
6
|
+
|
7
|
+
c = EPPClient::SmallRegistry.new(
|
8
|
+
:client_id => 'test',
|
9
|
+
:password => 'test',
|
10
|
+
:ssl_cert => 'test.crt',
|
11
|
+
:ssl_key => 'test.key',
|
12
|
+
:test => true
|
13
|
+
)
|
14
|
+
|
15
|
+
begin
|
16
|
+
|
17
|
+
c.open_connection
|
18
|
+
c.login
|
19
|
+
pp c.domain_check('mat.cc', 'bidule-truc.aeroport.fr', 'truc-chose.aeroport.fr')
|
20
|
+
pp c.domain_info('truc-chose.aeroport.fr')
|
21
|
+
pp c.contact_check('PP1-SMALL', 'PP2-SMALL', 'foobar')
|
22
|
+
pp c.contact_info('PP1-SMALL')
|
23
|
+
pp contact = c.contact_create( {
|
24
|
+
:email=>"foo@example.org",
|
25
|
+
:authInfo => "foobar",
|
26
|
+
:voice=>"+33.821801821",
|
27
|
+
:postalInfo=> { "loc"=> { :addr=> { :city=>"Paris", :cc=>"FR", :pc=>"75001", :street=>["BP 18", "1, rue Royale"] }, :name=>"Dupond, Jean", :org => "FooBar Inc." }, },
|
28
|
+
# l'un ou l'autre
|
29
|
+
#:person => { :birthDate => '1978-01-01', :birthPlace => 'Paris', },
|
30
|
+
:org => { :companySerial => '505404125', },
|
31
|
+
})
|
32
|
+
pp c.contact_info(contact[:id])
|
33
|
+
pp c.contact_update({
|
34
|
+
:id => contact[:id],
|
35
|
+
:chg => {
|
36
|
+
:email => 'bazar@example.com',
|
37
|
+
:org => { :companySerial => '505404126', },
|
38
|
+
}})
|
39
|
+
pp c.contact_delete(contact[:id])
|
40
|
+
pp c.contact_info(contact[:id])
|
41
|
+
pp c.domain_create({
|
42
|
+
:registrant => "PP1-SMALL",
|
43
|
+
:contacts => {:billing => ["PP1-SMALL"], :tech => ["PP1-SMALL"], :admin => ["PP1-SMALL"]},
|
44
|
+
:ns => ["ns1.absolight.net", "ns2.absolight.net", "ns3.absolight.net", "ns4.absolight.net"],
|
45
|
+
#:ns => [{:hostAddrv4 => ["1.2.3.4", "1.4.2.3"], :hostName => "ns1.truc-#{$$}.aeroport.fr"}, {:hostAddrv4 => ["1.2.3.5"], :hostAddrv6 => ["2a01:678::1", "2a01:678::2"], :hostName => "ns2.truc-#{$$}.aeroport.fr"}],
|
46
|
+
:name => "truc-#{$$}.aeroport.fr",
|
47
|
+
:authInfo => "PN16IZ0V-XLYDZC-AT70X58L"
|
48
|
+
})
|
49
|
+
pp c.domain_info("truc-#{$$}.aeroport.fr")
|
50
|
+
pp c.domain_update({
|
51
|
+
:name => "truc-#{$$}.aeroport.fr",
|
52
|
+
:chg => { :authInfo => 'Bazar' },
|
53
|
+
:rem => {
|
54
|
+
:ns => ["ns4.absolight.net"],
|
55
|
+
}
|
56
|
+
})
|
57
|
+
pp c.domain_info("truc-#{$$}.aeroport.fr")
|
58
|
+
pp c.domain_delete('truc-70487.aeroport.fr')
|
59
|
+
ensure
|
60
|
+
c.logout
|
61
|
+
end
|
data/Gemfile
ADDED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
Copyright (C) 2010 Mathieu Arnold, Absolight
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
5
|
+
the Software without restriction, including without limitation the rights to
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
8
|
+
so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
11
|
+
copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
19
|
+
SOFTWARE.
|
data/README
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require 'rake'
|
3
|
+
require 'rdoc/task'
|
4
|
+
require 'rubygems/package_task'
|
5
|
+
require "bundler/gem_helper"
|
6
|
+
|
7
|
+
MY_GEMS = Dir['*.gemspec'].map {|g| g.sub(/.*-(.*)\.gemspec/, '\1')}
|
8
|
+
|
9
|
+
MY_GEMS.each do |g|
|
10
|
+
namespace g do
|
11
|
+
Bundler::GemHelper.new(Dir.pwd, "epp-client-#{g}").install
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
namespace :all do
|
16
|
+
task :build => MY_GEMS.map { |f| "#{f}:build" }
|
17
|
+
task :install => MY_GEMS.map { |f| "#{f}:install" }
|
18
|
+
task :release => MY_GEMS.map { |f| "#{f}:release" }
|
19
|
+
end
|
20
|
+
|
21
|
+
task :build => 'all:build'
|
22
|
+
task :install => 'all:install'
|
23
|
+
task :release => 'all:release'
|
24
|
+
|
25
|
+
desc "Generate documentation for the Rails framework"
|
26
|
+
Rake::RDocTask.new do |rdoc|
|
27
|
+
rdoc.rdoc_dir = 'doc/rdoc'
|
28
|
+
rdoc.title = "Documentation"
|
29
|
+
|
30
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
31
|
+
rdoc.options << '--charset' << 'utf-8'
|
32
|
+
|
33
|
+
rdoc.rdoc_files.include('README')
|
34
|
+
rdoc.rdoc_files.include('ChangeLog')
|
35
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
36
|
+
end
|
37
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/epp-client/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.name = 'epp-client-smallregistry'
|
6
|
+
gem.version = EPPClient::VERSION
|
7
|
+
gem.date = '2010-05-14'
|
8
|
+
gem.authors = ['Mathieu Arnold']
|
9
|
+
gem.email = ['m@absolight.fr']
|
10
|
+
gem.description = 'Smallregistry EPP client library.'
|
11
|
+
gem.summary = 'Smallregistry EPP client library'
|
12
|
+
gem.homepage = "https://github.com/Absolight/epp-client"
|
13
|
+
|
14
|
+
gem.required_ruby_version = '>= 1.8.7'
|
15
|
+
gem.required_rubygems_version = ">= 1.3.6"
|
16
|
+
|
17
|
+
gem.files = [
|
18
|
+
'ChangeLog',
|
19
|
+
'EXAMPLE.SMALLREGISTRY',
|
20
|
+
'Gemfile',
|
21
|
+
'MIT-LICENSE',
|
22
|
+
'README',
|
23
|
+
'Rakefile',
|
24
|
+
'epp-client-smallregistry.gemspec',
|
25
|
+
'lib/epp-client/smallregistry.rb',
|
26
|
+
'vendor/smallregistry/sr-1.0.xsd',
|
27
|
+
]
|
28
|
+
|
29
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
30
|
+
gem.require_paths = ['lib']
|
31
|
+
|
32
|
+
gem.add_development_dependency "bundler", ">= 1.0.0"
|
33
|
+
gem.add_dependency('nokogiri', '~> 1.4')
|
34
|
+
gem.add_dependency('builder', '>= 2.1.2')
|
35
|
+
gem.add_dependency('epp-client-base', "~> #{EPPClient::VERSION}")
|
36
|
+
end
|
@@ -0,0 +1,174 @@
|
|
1
|
+
require 'epp-client/base'
|
2
|
+
|
3
|
+
module EPPClient
|
4
|
+
class SmallRegistry < Base
|
5
|
+
|
6
|
+
SCHEMAS_SR = %w[
|
7
|
+
sr-1.0
|
8
|
+
]
|
9
|
+
|
10
|
+
EPPClient::SCHEMAS_URL.merge!(SCHEMAS_SR.inject({}) do |a,s|
|
11
|
+
a[s.sub(/-1\.0$/, '')] = "https://www.smallregistry.net/schemas/#{s}.xsd" if s =~ /-1\.0$/
|
12
|
+
a[s] = "https://www.smallregistry.net/schemas/#{s}.xsd"
|
13
|
+
a
|
14
|
+
end)
|
15
|
+
|
16
|
+
#
|
17
|
+
# Sets the default for Smallregistry, that is, server and port, according
|
18
|
+
# to Smallregistry's documentation.
|
19
|
+
# https://www.smallregistry.net/faqs/quelles-sont-les-specificites-du-serveur-epp
|
20
|
+
#
|
21
|
+
# ==== Required Attributes
|
22
|
+
#
|
23
|
+
# [<tt>:client_id</tt>] the tag or username used with <tt><login></tt> requests.
|
24
|
+
# [<tt>:password</tt>] the password used with <tt><login></tt> requests.
|
25
|
+
# [<tt>:ssl_cert</tt>] the file containing the client certificate.
|
26
|
+
# [<tt>:ssl_key</tt>] the file containing the key of the certificate.
|
27
|
+
#
|
28
|
+
# ==== Optional Attributes
|
29
|
+
# [<tt>:test</tt>] sets the server to be the test server.
|
30
|
+
#
|
31
|
+
# See EPPClient for other attributes.
|
32
|
+
def initialize(attrs)
|
33
|
+
unless attrs.key?(:client_id) && attrs.key?(:password) && attrs.key?(:ssl_cert) && attrs.key?(:ssl_key)
|
34
|
+
raise ArgumentError, "client_id, password, ssl_cert and ssl_key are required"
|
35
|
+
end
|
36
|
+
if attrs.delete(:test) == true
|
37
|
+
attrs[:server] ||= 'epp.test.smallregistry.net'
|
38
|
+
attrs[:port] ||= 2700
|
39
|
+
else
|
40
|
+
attrs[:server] ||= 'epp.smallregistry.net'
|
41
|
+
attrs[:port] ||= 700
|
42
|
+
end
|
43
|
+
@services = EPPClient::SCHEMAS_URL.values_at('domain', 'contact')
|
44
|
+
super(attrs)
|
45
|
+
@extensions << EPPClient::SCHEMAS_URL['sr']
|
46
|
+
end
|
47
|
+
|
48
|
+
# Extends the base contact info so that the specific smallregistry's
|
49
|
+
# informations are processed, the additionnal informations are :
|
50
|
+
#
|
51
|
+
# one of :
|
52
|
+
# [<tt>:org</tt>]
|
53
|
+
# indicating that the contact is an organisation with the following
|
54
|
+
# informations :
|
55
|
+
# [<tt>:companySerial</tt>]
|
56
|
+
# the company's SIREN / RPPS / whatever serial number is required.
|
57
|
+
# [<tt>:person</tt>]
|
58
|
+
# indicating that the contact is a human person with the following
|
59
|
+
# informations :
|
60
|
+
# [<tt>:birthDate</tt>] the person's birth date.
|
61
|
+
# [<tt>:birthPlace</tt>] the person's birth place.
|
62
|
+
def contact_info(xml)
|
63
|
+
super # placeholder so that I can add some doc
|
64
|
+
end
|
65
|
+
|
66
|
+
def contact_info_process(xml) #:nodoc:
|
67
|
+
ret = super
|
68
|
+
if (contact = xml.xpath('epp:extension/sr:ext/sr:infData/sr:contact', EPPClient::SCHEMAS_URL)).size > 0
|
69
|
+
if (person = contact.xpath('sr:person', EPPClient::SCHEMAS_URL)).size > 0
|
70
|
+
ret[:person] = {
|
71
|
+
:birthDate => Date.parse(person.xpath('sr:birthDate', EPPClient::SCHEMAS_URL).text),
|
72
|
+
:birthPlace => person.xpath('sr:birthPlace', EPPClient::SCHEMAS_URL).text,
|
73
|
+
}
|
74
|
+
end
|
75
|
+
if (org = contact.xpath('sr:org', EPPClient::SCHEMAS_URL)).size > 0
|
76
|
+
ret[:org] = { :companySerial => org.xpath('sr:companySerial', EPPClient::SCHEMAS_URL).text }
|
77
|
+
end
|
78
|
+
end
|
79
|
+
ret
|
80
|
+
end
|
81
|
+
|
82
|
+
# Extends the base contact create so that the specific smallregistry's
|
83
|
+
# information are sent, the additionnal informations are :
|
84
|
+
#
|
85
|
+
# one of :
|
86
|
+
# [<tt>:org</tt>]
|
87
|
+
# indicating that the contact is an organisation with the following
|
88
|
+
# informations :
|
89
|
+
# [<tt>:companySerial</tt>]
|
90
|
+
# the company's SIREN / RPPS / whatever serial number is required.
|
91
|
+
# [<tt>:person</tt>]
|
92
|
+
# indicating that the contact is a human person with the following
|
93
|
+
# informations :
|
94
|
+
# [<tt>:birthDate</tt>] the person's birth date.
|
95
|
+
# [<tt>:birthPlace</tt>] the person's birth place.
|
96
|
+
def contact_create(contact)
|
97
|
+
super # placeholder so that I can add some doc
|
98
|
+
end
|
99
|
+
|
100
|
+
def contact_create_xml(contact) #:nodoc:
|
101
|
+
ret = super
|
102
|
+
|
103
|
+
ext = extension do |xml|
|
104
|
+
xml.ext( :xmlns => EPPClient::SCHEMAS_URL['sr']) do
|
105
|
+
xml.create do
|
106
|
+
xml.contact do
|
107
|
+
if contact.key?(:org)
|
108
|
+
xml.org do
|
109
|
+
xml.companySerial(contact[:org][:companySerial])
|
110
|
+
end
|
111
|
+
elsif contact.key?(:person)
|
112
|
+
xml.person do
|
113
|
+
xml.birthDate(contact[:person][:birthDate])
|
114
|
+
xml.birthPlace(contact[:person][:birthPlace])
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
insert_extension(ret, ext)
|
123
|
+
end
|
124
|
+
|
125
|
+
def contact_update_xml(args) #:nodoc:
|
126
|
+
ret = super
|
127
|
+
|
128
|
+
if args.key?(:chg) && (args[:chg].key?(:org) || args[:chg].key?(:person))
|
129
|
+
ext = extension do |xml|
|
130
|
+
xml.ext( :xmlns => EPPClient::SCHEMAS_URL['sr']) do
|
131
|
+
xml.update do
|
132
|
+
xml.contact do
|
133
|
+
if args[:chg].key?(:org)
|
134
|
+
xml.org do
|
135
|
+
xml.companySerial(args[:chg][:org][:companySerial])
|
136
|
+
end
|
137
|
+
elsif args[:chg].key?(:person)
|
138
|
+
xml.person do
|
139
|
+
xml.birthDate(args[:chg][:person][:birthDate])
|
140
|
+
xml.birthPlace(args[:chg][:person][:birthPlace])
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
return insert_extension(ret, ext)
|
149
|
+
else
|
150
|
+
return ret
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
# Extends the base contact update so that the specific afnic update
|
155
|
+
# informations can be sent, the additionnal informations are :
|
156
|
+
#
|
157
|
+
# [<tt>:chg</tt>]
|
158
|
+
# changes one of :
|
159
|
+
# [<tt>:org</tt>]
|
160
|
+
# indicating that the contact is an organisation with the following
|
161
|
+
# informations :
|
162
|
+
# [<tt>:companySerial</tt>]
|
163
|
+
# the company's SIREN / RPPS / whatever serial number is required.
|
164
|
+
# [<tt>:person</tt>]
|
165
|
+
# indicating that the contact is a human person with the following
|
166
|
+
# informations :
|
167
|
+
# [<tt>:birthDate</tt>] the person's birth date.
|
168
|
+
# [<tt>:birthPlace</tt>] the person's birth place.
|
169
|
+
#
|
170
|
+
def contact_update(args)
|
171
|
+
super # placeholder so that I can add some doc
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
|
3
|
+
<schema targetNamespace="https://www.smallregistry.net/schemas/sr-1.0.xsd"
|
4
|
+
xmlns:sr="https://www.smallregistry.net/schemas/sr-1.0.xsd"
|
5
|
+
xmlns:contact="urn:ietf:params:xml:ns:contact-1.0"
|
6
|
+
xmlns:epp="urn:ietf:params:xml:ns:epp-1.0"
|
7
|
+
xmlns:eppcom="urn:ietf:params:xml:ns:eppcom-1.0"
|
8
|
+
xmlns="http://www.w3.org/2001/XMLSchema"
|
9
|
+
elementFormDefault="qualified">
|
10
|
+
|
11
|
+
<!--
|
12
|
+
Import common element types.
|
13
|
+
-->
|
14
|
+
<import namespace="urn:ietf:params:xml:ns:eppcom-1.0" schemaLocation="vendor/ietf/eppcom-1.0.xsd"/>
|
15
|
+
<import namespace="urn:ietf:params:xml:ns:epp-1.0" schemaLocation="vendor/ietf/epp-1.0.xsd"/>
|
16
|
+
<import namespace="urn:ietf:params:xml:ns:contact-1.0" schemaLocation="vendor/ietf/contact-1.0.xsd"/>
|
17
|
+
|
18
|
+
<annotation>
|
19
|
+
<documentation>
|
20
|
+
Extensible Provisioning Protocol v1.0
|
21
|
+
SmallRegistry extensions.
|
22
|
+
</documentation>
|
23
|
+
</annotation>
|
24
|
+
|
25
|
+
<element name="ext" type="sr:extType"/>
|
26
|
+
|
27
|
+
<complexType name="extType">
|
28
|
+
<choice>
|
29
|
+
<element name="infData" type="sr:infDataType"/>
|
30
|
+
<element name="create" type="sr:createType"/>
|
31
|
+
<element name="update" type="sr:updateType"/>
|
32
|
+
</choice>
|
33
|
+
</complexType>
|
34
|
+
|
35
|
+
<complexType name="infDataType">
|
36
|
+
<choice>
|
37
|
+
<element name="contact" type="sr:contactType"/>
|
38
|
+
</choice>
|
39
|
+
</complexType>
|
40
|
+
|
41
|
+
<complexType name="createType">
|
42
|
+
<choice>
|
43
|
+
<element name="contact" type="sr:contactType"/>
|
44
|
+
</choice>
|
45
|
+
</complexType>
|
46
|
+
|
47
|
+
<complexType name="updateType">
|
48
|
+
<choice>
|
49
|
+
<element name="contact" type="sr:contactType"/>
|
50
|
+
</choice>
|
51
|
+
</complexType>
|
52
|
+
|
53
|
+
<complexType name="contactType">
|
54
|
+
<choice>
|
55
|
+
<element name="org" type="sr:legalEntity"/>
|
56
|
+
<element name="person" type="sr:physicalPerson"/>
|
57
|
+
</choice>
|
58
|
+
</complexType>
|
59
|
+
|
60
|
+
<complexType name="legalEntity">
|
61
|
+
<sequence>
|
62
|
+
<element name="companySerial" type="eppcom:minTokenType"/>
|
63
|
+
</sequence>
|
64
|
+
</complexType>
|
65
|
+
|
66
|
+
<complexType name="physicalPerson">
|
67
|
+
<sequence>
|
68
|
+
<element name="birthDate" type="date"/>
|
69
|
+
<element name="birthPlace" type="eppcom:minTokenType"/>
|
70
|
+
</sequence>
|
71
|
+
</complexType>
|
72
|
+
|
73
|
+
<!--
|
74
|
+
End of schema.
|
75
|
+
-->
|
76
|
+
</schema>
|
metadata
ADDED
@@ -0,0 +1,140 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: epp-client-smallregistry
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 51
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 11
|
9
|
+
- 0
|
10
|
+
version: 0.11.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Mathieu Arnold
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-05-14 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: bundler
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 23
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 0
|
32
|
+
- 0
|
33
|
+
version: 1.0.0
|
34
|
+
type: :development
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: nokogiri
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 7
|
45
|
+
segments:
|
46
|
+
- 1
|
47
|
+
- 4
|
48
|
+
version: "1.4"
|
49
|
+
type: :runtime
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: builder
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 15
|
60
|
+
segments:
|
61
|
+
- 2
|
62
|
+
- 1
|
63
|
+
- 2
|
64
|
+
version: 2.1.2
|
65
|
+
type: :runtime
|
66
|
+
version_requirements: *id003
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: epp-client-base
|
69
|
+
prerelease: false
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
hash: 51
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
- 11
|
79
|
+
- 0
|
80
|
+
version: 0.11.0
|
81
|
+
type: :runtime
|
82
|
+
version_requirements: *id004
|
83
|
+
description: Smallregistry EPP client library.
|
84
|
+
email:
|
85
|
+
- m@absolight.fr
|
86
|
+
executables: []
|
87
|
+
|
88
|
+
extensions: []
|
89
|
+
|
90
|
+
extra_rdoc_files: []
|
91
|
+
|
92
|
+
files:
|
93
|
+
- ChangeLog
|
94
|
+
- EXAMPLE.SMALLREGISTRY
|
95
|
+
- Gemfile
|
96
|
+
- MIT-LICENSE
|
97
|
+
- README
|
98
|
+
- Rakefile
|
99
|
+
- epp-client-smallregistry.gemspec
|
100
|
+
- lib/epp-client/smallregistry.rb
|
101
|
+
- vendor/smallregistry/sr-1.0.xsd
|
102
|
+
homepage: https://github.com/Absolight/epp-client
|
103
|
+
licenses: []
|
104
|
+
|
105
|
+
post_install_message:
|
106
|
+
rdoc_options: []
|
107
|
+
|
108
|
+
require_paths:
|
109
|
+
- lib
|
110
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
hash: 57
|
116
|
+
segments:
|
117
|
+
- 1
|
118
|
+
- 8
|
119
|
+
- 7
|
120
|
+
version: 1.8.7
|
121
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
hash: 23
|
127
|
+
segments:
|
128
|
+
- 1
|
129
|
+
- 3
|
130
|
+
- 6
|
131
|
+
version: 1.3.6
|
132
|
+
requirements: []
|
133
|
+
|
134
|
+
rubyforge_project:
|
135
|
+
rubygems_version: 1.8.16
|
136
|
+
signing_key:
|
137
|
+
specification_version: 3
|
138
|
+
summary: Smallregistry EPP client library
|
139
|
+
test_files: []
|
140
|
+
|