soar_sr 0.1.4 → 0.1.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0077fd59cbff3bbb191c5d96f48b253762c3b698
4
- data.tar.gz: 141c6020e926b819ca19e79e80d8c77d2ce9b4b8
3
+ metadata.gz: 5d7140ecb1b8db4257124c2f57ad2e51620dde90
4
+ data.tar.gz: 2d2848a6d26079e2cfe5c7e941216573a265e0f6
5
5
  SHA512:
6
- metadata.gz: 9375fa921ac20013b1921a921eedf71f50d17c6bad03b704cc8c012fd6142929d45bfe6d66efe6fca8583b8c856d1a6336a9716dbe320dc228d5b425184bd45a
7
- data.tar.gz: 743cd848c2a403f91b6ce5a085736db1087df2487f5d700d95df42701e9890cd9025ed7586343f6a0dee7f1059e45d14764ad7592b933255f91a7d83c9b6c6a6
6
+ metadata.gz: e1eb991f60690270e2b563a633e165675ba47960ff019eb9f612fa25e143fc71c083b68189599e0c1e7e6556c0ca14fcc79246759fa7ae934b6f47a3d22ffb5b
7
+ data.tar.gz: da250ea11a467afdc03609d186eecfee9a4ff2ec05ecbb6c0affeb225ff7655f17a84cf87fe86c6cecd03c3787b8c064a1218bb1d7f52086bdc02615ac3d3086
@@ -28,9 +28,9 @@ module SoarSr
28
28
 
29
29
  def domain_perspective_associations(domain_perspective)_{
30
30
  # byebug
31
- provided?(domain_perspective, 'domain perspective')
32
- meta = @registry.domain_perspectives.meta_for_domain_perspective('domains', domain_perspective)
33
- meta = @registry.domain_perspectives.meta_for_domain_perspective('teams', domain_perspective) if no_meta?(meta)
31
+ provided?(domain_perspective, 'domain perspective') and any_registered?(domain_perspective)
32
+ meta = @registry.domain_perspectives.meta_for_domain_perspective('domains', domain_perspective) if type_registered?(domain_perspective, 'domains')
33
+ meta = @registry.domain_perspectives.meta_for_domain_perspective('teams', domain_perspective) if type_registered?(domain_perspective, 'teams')
34
34
  success_data(meta)
35
35
  }end
36
36
 
@@ -40,8 +40,8 @@ module SoarSr
40
40
  end
41
41
 
42
42
  def associate_service_component_with_domain_perspective(service_component, domain_perspective)_{
43
- provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domain perspective')
44
- provided?(service_component, 'service component') and registered?(service_component, 'service component')
43
+ provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
44
+ provided?(service_component, 'service component') and registered?(service_component, 'service components')
45
45
 
46
46
  service_component_id = compile_domain_id('service-components', service_component)
47
47
  meta = @registry.domain_perspectives.meta_for_domain_perspective('domains', domain_perspective)
@@ -55,8 +55,8 @@ module SoarSr
55
55
  }end
56
56
 
57
57
  def associate_service_with_domain_perspective(service, domain_perspective)_{
58
- provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domain perspective')
59
- provided?(service, 'service') and registered?(service, 'service')
58
+ provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
59
+ provided?(service, 'service') and registered?(service, 'services')
60
60
 
61
61
  service_id = compile_domain_id('services', service)
62
62
  meta = @registry.domain_perspectives.meta_for_domain_perspective('domains', domain_perspective)
@@ -71,8 +71,8 @@ module SoarSr
71
71
 
72
72
  def disassociate_service_component_from_domain_perspective(domain_perspective, service_component)_{
73
73
  # byebug
74
- provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domain perspective')
75
- provided?(service_component, 'service component') and registered?(service_component, 'service component')
74
+ provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
75
+ provided?(service_component, 'service component') and registered?(service_component, 'service components')
76
76
 
77
77
  service_component_id = compile_domain_id('service-components', service_component)
78
78
  meta = @registry.domain_perspectives.meta_for_domain_perspective('domains', domain_perspective)
@@ -87,8 +87,8 @@ module SoarSr
87
87
 
88
88
  def disassociate_service_from_domain_perspective(domain_perspective, service)_{
89
89
  # byebug
90
- provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domain perspective')
91
- provided?(service, 'service') and registered?(service, 'service')
90
+ provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
91
+ provided?(service, 'service') and registered?(service, 'services')
92
92
 
93
93
  service_id = compile_domain_id('services', service)
94
94
  meta = @registry.domain_perspectives.meta_for_domain_perspective('domains', domain_perspective)
@@ -18,7 +18,7 @@ module SoarSr
18
18
  }end
19
19
 
20
20
  def domain_perspective_by_name(type, domain_perspective)
21
- provided?(domain_perspective, 'domain perspective')
21
+ provided?(domain_perspective, one_of(type))
22
22
  @uddi.get_business(compile_domain_id(type, domain_perspective))
23
23
  end
24
24
 
@@ -53,7 +53,7 @@ module SoarSr
53
53
 
54
54
  def configure_meta_for_domain_perspective(type, domain_perspective, meta)_{
55
55
  authorize
56
- provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domain perspective')
56
+ provided?(domain_perspective, one_of(type)) and registered?(domain_perspective, type)
57
57
  provided?(type, 'element type') and type?(type)
58
58
  provided?(meta, 'meta') and meta?(meta)
59
59
 
@@ -63,12 +63,12 @@ module SoarSr
63
63
  detail['description'] = compile_meta_into_descriptions(descriptions, meta)
64
64
 
65
65
  result = @uddi.save_business(detail['id'], detail['name'], detail['description'])
66
- authorized?(result) and identifier?(result, 'domain perspective')
66
+ authorized?(result) and identifier?(result, type)
67
67
  success('meta updated', result['data'])
68
68
  }end
69
69
 
70
70
  def meta_for_domain_perspective(type, domain_perspective)_{
71
- provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domain perspective')
71
+ provided?(domain_perspective, one_of(type)) and registered?(domain_perspective, type)
72
72
  provided?(type, 'element type') and type?(type)
73
73
 
74
74
  meta = extract_meta_for_domain_perspective(extract_detail_for_domain_perspective(type, domain_perspective))
@@ -81,7 +81,7 @@ module SoarSr
81
81
  protected
82
82
 
83
83
  def domain_registered?(type, domain_perspective)
84
- provided?(domain_perspective, 'domain perspective')
84
+ provided?(domain_perspective, one_of(type))
85
85
  result = @uddi.find_businesses(domain_perspective)
86
86
  registered = false
87
87
  id = nil
@@ -98,19 +98,19 @@ module SoarSr
98
98
 
99
99
  def register_domain(type, domain_perspective)_{
100
100
  authorize
101
- provided?(domain_perspective, 'domain perspective') and not_registered?(domain_perspective, 'domain perspective')
101
+ provided?(domain_perspective, one_of(type)) and not_registered?(domain_perspective, type)
102
102
  id = compile_domain_id(type, domain_perspective)
103
103
  result = @uddi.save_business(id, domain_perspective)
104
- authorized?(result) and identifier?(result, 'domain perspective')
104
+ authorized?(result) and identifier?(result, type)
105
105
  success('domain perspective registered')
106
106
  }end
107
107
 
108
108
  def deregister_domain(type, domain_perspective)_{
109
109
  authorize
110
- provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domain perspective')
110
+ provided?(domain_perspective, one_of(type)) and registered?(domain_perspective, type)
111
111
  raise ValidationError, 'domain perspective has associations' if @registry.associations.domain_perspective_has_associations?(domain_perspective)
112
112
  result = @uddi.delete_business(compile_domain_id(type, domain_perspective))
113
- authorized?(result) and identifier?(result, 'domain perspective')
113
+ authorized?(result) and identifier?(result, type)
114
114
  success('domain perspective deregistered')
115
115
  }end
116
116
 
@@ -126,7 +126,7 @@ module SoarSr
126
126
  end
127
127
 
128
128
  def extract_detail_for_domain_perspective(type, domain_perspective)
129
- provided?(domain_perspective, 'domain perspective') and provided?(type, 'domain type')
129
+ provided?(domain_perspective, one_of(type)) and provided?(type, 'domain type')
130
130
  id = compile_domain_id(type, domain_perspective)
131
131
  detail = @uddi.get_business(id)['data'][domain_perspective]
132
132
  detail ||= {}
@@ -70,7 +70,7 @@ module SoarSr
70
70
  }end
71
71
 
72
72
  def search_domain_perspective(domain_perspective, pattern)_{
73
- provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domain perspective')
73
+ provided?(domain_perspective, 'domain perspective') and registered?(domain_perspective, 'domains')
74
74
 
75
75
  found = {}
76
76
  data = @registry.associations.domain_perspective_associations(domain_perspective)['data']['associations']
@@ -55,7 +55,7 @@ module SoarSr
55
55
 
56
56
  def register_service_component(service_component)_{
57
57
  authorize
58
- provided?(service_component, 'service component') and not_registered?(service_component, 'service component')
58
+ provided?(service_component, 'service component') and not_registered?(service_component, 'service components')
59
59
 
60
60
  result = @uddi.save_service_component(service_component)
61
61
  authorized?(result) and identifier?(result, 'service component')
@@ -65,7 +65,7 @@ module SoarSr
65
65
  def deregister_service_component(service_component)_{
66
66
  # byebug
67
67
  authorize
68
- provided?(service_component, 'service component') and registered?(service_component, 'service component')
68
+ provided?(service_component, 'service component') and registered?(service_component, 'service components')
69
69
  raise ValidationError, 'service component has domain perspective associations' if @registry.associations.service_component_has_domain_perspective_associations?(service_component)
70
70
  result = @uddi.delete_service_component(service_component)
71
71
  authorized?(result) and identifier?(result, 'service component')
@@ -74,14 +74,14 @@ module SoarSr
74
74
 
75
75
  def configure_service_component_uri(service_component, uri)_{
76
76
  authorize
77
- provided?(service_component, 'service component') and provided?(uri, 'URI') and uri?(uri) and registered?(service_component, 'service component')
77
+ provided?(service_component, 'service component') and provided?(uri, 'URI') and uri?(uri) and registered?(service_component, 'service components')
78
78
  result = @uddi.save_service_component_uri(service_component, uri)
79
79
  authorized?(result) and identifier?(result, 'service component')
80
80
  success
81
81
  }end
82
82
 
83
83
  def service_component_uri(service_component)_{
84
- provided?(service_component, 'service component') and registered?(service_component, 'service component')
84
+ provided?(service_component, 'service component') and registered?(service_component, 'service components')
85
85
  result = @uddi.find_service_component_uri(service_component)
86
86
  identifier?(result, 'service component')
87
87
  uri = (has_data?(result, 'bindings') and (result['data']['bindings'].size > 0)) ? result['data']['bindings'].first[1]['access_point'] : nil
@@ -7,7 +7,7 @@ module SoarSr
7
7
 
8
8
  def register_service_definition(service, definition)_{
9
9
  authorize
10
- provided?(service, 'service') and registered?(service, 'service') and provided?(definition, 'service definition') and wadl?(definition)
10
+ provided?(service, 'service') and registered?(service, 'services') and provided?(definition, 'service definition') and wadl?(definition)
11
11
  result = @uddi.get_service(service)
12
12
  service = result['data']
13
13
  service['definition'] = definition
@@ -18,7 +18,7 @@ module SoarSr
18
18
 
19
19
  def service_definition_for_service(service)_{
20
20
  # byebug
21
- provided?(service, 'service') and registered?(service, 'service')
21
+ provided?(service, 'service') and registered?(service, 'services')
22
22
  result = @uddi.get_service(service)['data']
23
23
  identifier?(result, 'service')
24
24
  return fail('service has no definition') if (result['definition'].nil?) or (result['definition'] == "")
@@ -27,7 +27,7 @@ module SoarSr
27
27
 
28
28
  def deregister_service_definition(service)_{
29
29
  authorize
30
- provided?(service, 'service') and registered?(service, 'service')
30
+ provided?(service, 'service') and registered?(service, 'services')
31
31
  result = @uddi.get_service(service)
32
32
  service = result['data']
33
33
  service['definition'] = ""
@@ -9,7 +9,7 @@ module SoarSr
9
9
 
10
10
  def register_service(service, description = nil)_{
11
11
  authorize
12
- key_provided?(service, 'name', 'service') and not_registered?(service['name'], 'service')
12
+ key_provided?(service, 'name', 'service') and not_registered?(service['name'], 'services')
13
13
  result = @uddi.save_service(service['name'], extract_description_and_meta(service, description), service['definition'])
14
14
  authorized?(result) and identifier?(result, 'service')
15
15
  success('service registered')
@@ -17,7 +17,7 @@ module SoarSr
17
17
 
18
18
  def deregister_service(service)_{
19
19
  authorize
20
- provided?(service, 'service') and registered?(service, 'service')
20
+ provided?(service, 'service') and registered?(service, 'services')
21
21
  result = @uddi.delete_service(service)
22
22
  authorized?(result) and identifier?(result, 'service')
23
23
  success('service deregistered')
@@ -34,7 +34,7 @@ module SoarSr
34
34
 
35
35
  def add_service_uri(service, uri)_{
36
36
  authorize
37
- provided?(service, 'service') and provided?(uri, 'URI') and uri?(uri) and registered?(service, 'service')
37
+ provided?(service, 'service') and provided?(uri, 'URI') and uri?(uri) and registered?(service, 'services')
38
38
  result = @uddi.add_service_uri(service, uri)
39
39
  authorized?(result) and identifier?(result, 'service')
40
40
  success
@@ -42,7 +42,7 @@ module SoarSr
42
42
 
43
43
  def service_uris(service)_{
44
44
  authorize
45
- provided?(service, 'service') and registered?(service, 'service')
45
+ provided?(service, 'service') and registered?(service, 'services')
46
46
  result = @uddi.service_uris(service)
47
47
  authorized?(result) and identifier?(result, 'service')
48
48
  success_data(result['data'])
@@ -50,7 +50,7 @@ module SoarSr
50
50
 
51
51
  def remove_uri_from_service(service, uri)_{
52
52
  authorize
53
- provided?(service, 'service') and provided?(uri, 'URI') and uri?(uri) and registered?(service, 'service')
53
+ provided?(service, 'service') and provided?(uri, 'URI') and uri?(uri) and registered?(service, 'services')
54
54
  result = @uddi.remove_service_uri(service, uri)
55
55
  authorized?(result) and identifier?(result, 'service')
56
56
  success
@@ -58,7 +58,7 @@ module SoarSr
58
58
 
59
59
  def configure_meta_for_service(service, meta)_{
60
60
  authorize
61
- provided?(service, 'service') and provided?(meta, 'meta') and meta?(meta) and registered?(service, 'service')
61
+ provided?(service, 'service') and provided?(meta, 'meta') and meta?(meta) and registered?(service, 'services')
62
62
 
63
63
  descriptions = merge_meta_with_service_descriptions(service, meta)
64
64
  result = update_service_descriptions(service, descriptions)
@@ -68,7 +68,7 @@ module SoarSr
68
68
  }end
69
69
 
70
70
  def meta_for_service(service)
71
- provided?(service, "service") and registered?(service, 'service')
71
+ provided?(service, "service") and registered?(service, 'services')
72
72
  detail = @uddi.get_service(service)['data']
73
73
  if detail['description']
74
74
  detail['description'].each do |desc|
data/lib/soar_sr/teams.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'jsender'
2
2
  require 'soap4juddi'
3
+ require 'byebug'
3
4
 
4
5
  module SoarSr
5
6
  class Teams < SoarSr::DomainPerspectives
@@ -17,4 +18,4 @@ module SoarSr
17
18
  deregister_domain('teams', domain_perspective)
18
19
  }end
19
20
  end
20
- end
21
+ end
@@ -73,25 +73,31 @@ module SoarSr
73
73
  end
74
74
 
75
75
  def type_registered?(element, type)
76
- return is_registered?(@registry.domain_perspectives.domain_perspective_registered?(element)) if (type == 'domain perspective')
77
- return is_registered?(@registry.service_components.service_component_registered?(element)) if (type == 'service component')
78
- return is_registered?(@registry.services.service_registered?(element)) if (type == 'service')
79
- return is_registered?(@registry.teams.team_registered?(element)) if (type == 'team')
76
+ return is_registered?(@registry.domain_perspectives.domain_perspective_registered?(element)) if (type == 'domains')
77
+ return is_registered?(@registry.service_components.service_component_registered?(element)) if (type == 'service components')
78
+ return is_registered?(@registry.services.service_registered?(element)) if (type == 'services')
79
+ return is_registered?(@registry.teams.team_registered?(element)) if (type == 'teams')
80
80
  false
81
81
  end
82
82
 
83
83
  def not_registered?(element, type)
84
- raise ValidationError, "#{type} already exists" if type_registered?(element, type)
84
+ raise ValidationError, "#{one_of(type)} already exists" if type_registered?(element, type)
85
85
  true
86
86
  end
87
87
 
88
88
  def any_registered?(domain_perspective)
89
- raise ValidationError, "unknown domain perspective provided" if (not type_registered?(domain_perspective, 'domain perspective')) and (not type_registered?(domain_perspective, 'team'))
89
+ raise ValidationError, "unknown domain perspective provided" if (not type_registered?(domain_perspective, 'domains')) and (not type_registered?(domain_perspective, 'teams'))
90
90
  end
91
91
 
92
92
  def registered?(element, type)
93
- raise ValidationError, "unknown #{type} provided" if not type_registered?(element, type)
93
+ raise ValidationError, "unknown #{one_of(type)} provided" if not type_registered?(element, type)
94
94
  true
95
- end
95
+ end
96
+
97
+ def one_of(type)
98
+ result = type[0..-2]
99
+ result = 'domain perspective' if result == 'domain'
100
+ result
101
+ end
96
102
  end
97
103
  end
@@ -1,3 +1,3 @@
1
1
  module SoarSr
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soar_sr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernst van Graan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-15 00:00:00.000000000 Z
11
+ date: 2015-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: persistent-cache
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.10'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.10'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '10.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: byebug
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: jsender
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: soap4juddi
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: Implementation of the Hetzner Service Registry specification, backed
@@ -116,9 +116,9 @@ executables: []
116
116
  extensions: []
117
117
  extra_rdoc_files: []
118
118
  files:
119
- - .gitignore
120
- - .rspec
121
- - .travis.yml
119
+ - ".gitignore"
120
+ - ".rspec"
121
+ - ".travis.yml"
122
122
  - CODE_OF_CONDUCT.md
123
123
  - Gemfile
124
124
  - LICENSE.txt
@@ -153,19 +153,18 @@ require_paths:
153
153
  - lib
154
154
  required_ruby_version: !ruby/object:Gem::Requirement
155
155
  requirements:
156
- - - '>='
156
+ - - ">="
157
157
  - !ruby/object:Gem::Version
158
158
  version: 2.0.0
159
159
  required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  requirements:
161
- - - '>='
161
+ - - ">="
162
162
  - !ruby/object:Gem::Version
163
163
  version: '0'
164
164
  requirements: []
165
165
  rubyforge_project:
166
- rubygems_version: 2.2.2
166
+ rubygems_version: 2.4.8
167
167
  signing_key:
168
168
  specification_version: 4
169
169
  summary: Implementation of the Hetzner Service Registry specification, backed by jUDDI
170
170
  test_files: []
171
- has_rdoc: