Class: SoarSr::ServiceDefinitions

Inherits:
Handler show all
Includes:
Jsender
Defined in:
lib/soar_sr/service_definitions.rb

Instance Attribute Summary

Attributes inherited from Handler

#registry

Instance Method Summary collapse

Methods inherited from Handler

#authorize, #initialize

Methods inherited from Validator

#authorized?, #contact?, #credentials?, #identifier?, #key_provided?, #length_at_least?, #meta?, #one_of, #present?, #provided?, #type?, #uri?, #wadl?

Constructor Details

This class inherits a constructor from SoarSr::Handler

Instance Method Details

#deregister_service_definition(service) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/soar_sr/service_definitions.rb', line 30

def deregister_service_definition(service)_{
  service = standardize(service)            
  authorize
  provided?(service, 'service') and registered?(service, 'services')
  result = @uddi.get_service(service)
  service = result['data']
  service['definition'] = ""
  result = @uddi.save_service(service['name'], service['description'], service['definition'])
  authorized?(result) and identifier?(result, 'service')
  success('service definition deregistered')
}end

#register_service_definition(service, definition) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/soar_sr/service_definitions.rb', line 8

def register_service_definition(service, definition)_{
  service = standardize(service)            
  authorize 
  provided?(service, 'service') and registered?(service, 'services') and provided?(definition, 'service definition') and wadl?(definition)
  result = @uddi.get_service(service)
  service = result['data']
  service['definition'] = definition
  result = @uddi.save_service(service['name'], service['description'], service['definition'])
  authorized?(result) and identifier?(result, 'service')
  success('service definition registered')
}end

#service_definition_for_service(service) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/soar_sr/service_definitions.rb', line 20

def service_definition_for_service(service)_{
  service = standardize(service)            
  # byebug
  provided?(service, 'service') and registered?(service, 'services')
  result = @uddi.get_service(service)['data']
  identifier?(result, 'service')
  return fail('service has no definition') if (result['definition'].nil?) or (result['definition'] == "")
  success_data({'definition' => result['definition']})
}end