class SoarTransportApi::TransportAPI

Constants

DELIVERY_FAILURE
DELIVERY_PENDING
DELIVERY_REJECTED
DELIVERY_SUCCESS
DELIVERY_TIMEOUT

Attributes

transport_identifier[RW]

Public Class Methods

new(transport_identifier) click to toggle source
# File lib/soar_transport_api/transport_api.rb, line 11
def initialize(transport_identifier)
  raise SoarTransportApi::TransportIdentifierInvalidError.new("Invalid transport identifier") if invalid_transport_identifier?(transport_identifier)
  @transport_identifier = transport_identifier
end

Public Instance Methods

receive_message() click to toggle source
# File lib/soar_transport_api/transport_api.rb, line 26
def receive_message
end
receive_messages(subscriber, transport_provider_id) click to toggle source
# File lib/soar_transport_api/transport_api.rb, line 21
def receive_messages(subscriber, transport_provider_id)
  raise SoarTransportApi::TransportIdentifierInvalidError.new("Invalid transport identifier") if invalid_transport_identifier?(transport_provider_id)
  raise SoarTransportApi::SubscriberCallbackInvalidError.new("Invalid subscriber") if invalid_subscriber?(subscriber)
end
send_message(uri, message) click to toggle source
# File lib/soar_transport_api/transport_api.rb, line 16
def send_message(uri, message)
  raise SoarTransportApi::NoMessageError.new("No message provided") if message.nil?
  raise SoarTransportApi::InvalidURIError.new("Invalid URI") if invalid_uri?(uri)
end

Private Instance Methods

invalid_subscriber?(subscriber) click to toggle source
# File lib/soar_transport_api/transport_api.rb, line 42
def invalid_subscriber?(subscriber)
  subscriber.nil? or
  not subscriber.methods.include?(:receive)

end
invalid_transport_identifier?(transport_identifier) click to toggle source
# File lib/soar_transport_api/transport_api.rb, line 36
def invalid_transport_identifier?(transport_identifier)
  transport_identifier.nil? or
  (not transport_identifier.is_a?(String)) or
  transport_identifier.strip == ""
end
invalid_uri?(uri) click to toggle source
# File lib/soar_transport_api/transport_api.rb, line 31
def invalid_uri?(uri)
  return true if uri.nil?
  not (uri =~ URI::DEFAULT_PARSER.regexp[:UNSAFE]).nil? 
end