class OpenID::Yadis::BasicServiceEndpoint

Attributes

service_element[R]
type_uris[R]
uri[R]
yadis_url[R]

Public Class Methods

from_basic_service_endpoint(endpoint) click to toggle source

Trivial transform from a basic endpoint to itself. This method exists to allow BasicServiceEndpoint to be used as a filter.

If you are subclassing this object, re-implement this function.

# File lib/openid/yadis/filters.rb, line 42
def self.from_basic_service_endpoint(endpoint)
  return endpoint
end
new(yadis_url, type_uris, uri, service_element) click to toggle source

Generic endpoint object that contains parsed service information, as well as a reference to the service element from which it was generated. If there is more than one xrd:Type or xrd:URI in the xrd:Service, this object represents just one of those pairs.

This object can be used as a filter, because it implements fromBasicServiceEndpoint.

The simplest kind of filter you can write implements fromBasicServiceEndpoint, which takes one of these objects.

# File lib/openid/yadis/filters.rb, line 22
def initialize(yadis_url, type_uris, uri, service_element)
  @type_uris = type_uris
  @yadis_url = yadis_url
  @uri = uri
  @service_element = service_element
end

Public Instance Methods

from_basic_service_endpoint(endpoint) click to toggle source

A hack to make both this class and its instances respond to this message since Ruby doesn't support static methods.

# File lib/openid/yadis/filters.rb, line 48
def from_basic_service_endpoint(endpoint)
  return self.class.from_basic_service_endpoint(endpoint)
end
match_types(type_uris) click to toggle source

Query this endpoint to see if it has any of the given type URIs. This is useful for implementing other endpoint classes that e.g. need to check for the presence of multiple versions of a single protocol.

# File lib/openid/yadis/filters.rb, line 33
def match_types(type_uris)
  return @type_uris & type_uris
end