<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,4 +1,5 @@
 require 'drb/acl'
+require 'addressable/uri'
 
 base = File.join(File.dirname(__FILE__), &quot;mack-distributed&quot;)
 </diff>
      <filename>mack-distributed/lib/mack-distributed.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,5 +6,19 @@ module Mack # :nodoc:
       Mack::Distributed::Utils::Rinda.read(:klass_def =&gt; &quot;#{const}&quot;.to_sym)
     end
     
+    # Allows for the specific lookup of services on the ring server
+    # 
+    # Examples:
+    #   Mack::Distributed::Utils::Rinda.register_or_renew(:space =&gt; :app_1, :klass_def =&gt; :Test, :object =&gt; &quot;Hello World!&quot;)
+    #   Mack::Distributed::Utils::Rinda.register_or_renew(:space =&gt; :app_2, :klass_def =&gt; :Test, :object =&gt; &quot;Hello WORLD!&quot;)
+    #   Mack::Distributed.lookup(&quot;distributed://app_1/Test&quot;) # =&gt; &quot;Hello World!&quot;
+    #   Mack::Distributed.lookup(&quot;distributed://app_2/Test&quot;) # =&gt; &quot;Hello WORLD!&quot;
+    def self.lookup(address)
+      uri = Addressable::URI.parse(address)
+      path = uri.path[1..uri.path.size] # remove the first slash
+      host = uri.host
+      Mack::Distributed::Utils::Rinda.read(:klass_def =&gt; path.to_sym, :space =&gt; host.to_sym)
+    end
+    
   end # Distributed
 end # Mack
\ No newline at end of file</diff>
      <filename>mack-distributed/lib/mack-distributed/distributed.rb</filename>
    </modified>
    <modified>
      <diff>@@ -34,6 +34,7 @@ module Mack
         
         def self.read(options = {})
           options = handle_options(options)
+          puts &quot;options: #{options.inspect}&quot;
           ring_server.read([options[:space], options[:klass_def], nil, options[:description]], options[:timeout])[2]
         end
         </diff>
      <filename>mack-distributed/lib/mack-distributed/utils/rinda.rb</filename>
    </modified>
    <modified>
      <diff>@@ -44,7 +44,12 @@ describe Mack::Distributed do
   
   describe &quot;lookup&quot; do
     
-    it &quot;should look up and return a specific service from rinda&quot;
+    it &quot;should look up and return a specific service from rinda&quot; do
+      Mack::Distributed::Utils::Rinda.register_or_renew(:space =&gt; :app_1, :klass_def =&gt; :Test, :object =&gt; &quot;Hello World!&quot;)
+      Mack::Distributed::Utils::Rinda.register_or_renew(:space =&gt; :app_2, :klass_def =&gt; :Test, :object =&gt; &quot;Hello WORLD!&quot;)
+      Mack::Distributed.lookup(&quot;distributed://app_1/Test&quot;).should == &quot;Hello World!&quot;
+      Mack::Distributed.lookup(&quot;distributed://app_2/Test&quot;).should == &quot;Hello WORLD!&quot;
+    end
     
   end
   </diff>
      <filename>mack-distributed/spec/lib/distributed/distributed_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3265f071f2bfaf1bcac42a33c1a29ba55abbc424</id>
    </parent>
  </parents>
  <author>
    <name>Mark Bates</name>
    <email>mark@markbates.com</email>
  </author>
  <url>http://github.com/markbates/mack-more/commit/ff5a4840acee04952c3c422f72f7dd2507b55e8d</url>
  <id>ff5a4840acee04952c3c422f72f7dd2507b55e8d</id>
  <committed-date>2008-08-08T12:01:40-07:00</committed-date>
  <authored-date>2008-08-08T12:01:40-07:00</authored-date>
  <message>Added lookup method to Mack::Distributed. [#84 state:resolved]</message>
  <tree>e24573e6763bae8891a9a1e4a493bf6f4ef1ac40</tree>
  <committer>
    <name>Mark Bates</name>
    <email>mark@markbates.com</email>
  </committer>
</commit>
