<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -14,7 +14,7 @@ EMAIL  = &quot;ssmoot@gmail.com&quot;
 GEM_NAME = &quot;dm-core&quot;
 GEM_VERSION = DataMapper::VERSION
 GEM_DEPENDENCIES = [&quot;data_objects&quot;, &quot;&gt;=0.9.5&quot;], [&quot;extlib&quot;, &quot;&gt;=0.9.5&quot;],
-                   [&quot;rspec&quot;, &quot;&gt;=1.1.3&quot;], [&quot;addressable&quot;, &quot;&gt;=1.0.4&quot;]
+                   [&quot;rspec&quot;, &quot;&gt;=1.1.3&quot;], [&quot;addressable&quot;, &quot;=2.0.0&quot;]
 
 
 PROJECT_NAME = &quot;datamapper&quot;</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -125,16 +125,18 @@ module DataMapper
           return uri_or_options
         end
 
-        adapter  = uri_or_options.delete(:adapter).to_s
-        user     = uri_or_options.delete(:username)
-        password = uri_or_options.delete(:password)
-        host     = uri_or_options.delete(:host)
-        port     = uri_or_options.delete(:port)
-        database = uri_or_options.delete(:database)
-        query    = uri_or_options.to_a.map { |pair| pair * '=' } * '&amp;'
-        query    = nil if query == ''
-
-        return DataObjects::URI.parse(Addressable::URI.new(adapter, user, password, host, port, database, query, nil))
+        query = uri_or_options.except(:adapter, :username, :password, :host, :port, :database).map { |pair| pair.join('=') }.join('&amp;')
+        query = nil if query.blank?
+
+        return DataObjects::URI.parse(Addressable::URI.new(
+          :scheme   =&gt; uri_or_options[:adapter].to_s,
+          :user     =&gt; uri_or_options[:username],
+          :password =&gt; uri_or_options[:password],
+          :host     =&gt; uri_or_options[:host],
+          :port     =&gt; uri_or_options[:port],
+          :path     =&gt; uri_or_options[:database],
+          :query    =&gt; query
+        ))
       end
 
       # TODO: clean up once transaction related methods move to dm-more/dm-transactions</diff>
      <filename>lib/dm-core/adapters/data_objects_adapter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,7 @@ describe DataMapper::Associations::ManyToOne::Proxy do
 
   before do
     @child        = mock('child', :kind_of? =&gt; true)
-    @parent       = mock('parent')
+    @parent       = mock('parent', :nil? =&gt; false, :new_record? =&gt; false)
     @relationship = mock('relationship', :kind_of? =&gt; true, :get_parent =&gt; @parent, :attach_parent =&gt; nil)
     @association  = DataMapper::Associations::ManyToOne::Proxy.new(@relationship, @child)
 
@@ -62,7 +62,7 @@ describe DataMapper::Associations::ManyToOne::Proxy do
   describe '#save' do
     describe 'when the parent is nil' do
       before do
-        @parent.should_receive(:nil?).with(no_args).and_return(true)
+        @parent.stub!(:nil?).and_return(true)
       end
 
       it 'should not save the parent' do</diff>
      <filename>spec/unit/associations/many_to_one_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,18 @@
 require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
 
 describe 'DataMapper::Model' do
-  module ModelSpec
-    class Resource
-      include DataMapper::Resource
+  before do
+    Object.send(:remove_const, :ModelSpec) if defined?(ModelSpec)
+    module ModelSpec
+      class Resource
+        include DataMapper::Resource
 
-      storage_names[:legacy] = 'legacy_resource'
+        storage_names[:legacy] = 'legacy_resource'
 
-      property :id,   Serial
-      property :name, String
-      property :type, Discriminator
+        property :id,   Serial
+        property :name, String
+        property :type, Discriminator
+      end
     end
   end
 
@@ -87,7 +90,7 @@ describe 'DataMapper::Model' do
   describe '#storage_names' do
     it 'should return a Hash mapping each repository to a storage location' do
       ModelSpec::Resource.storage_names.should be_kind_of(Hash)
-      ModelSpec::Resource.storage_names.should == { :default =&gt; 'model_spec_resources', :legacy =&gt; 'legacy_resource' }
+      ModelSpec::Resource.storage_names.should == { :legacy =&gt; 'legacy_resource' }
     end
   end
 
@@ -165,12 +168,7 @@ describe 'DataMapper::Model' do
 
   describe '#storage_exists?' do
     it 'should return whether or not the storage exists' do
-      ModelSpec::Resource.should_receive(:repository).with(:default) do
-        repository = mock('repository')
-        repository.should_receive(:storage_exists?).with('model_spec_resources').and_return(true)
-        repository
-      end
-      ModelSpec::Resource.storage_exists?.should == true
+      ModelSpec::Resource.storage_exists?.should == false
     end
   end
 </diff>
      <filename>spec/unit/model_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -240,9 +240,9 @@ describe DataMapper::Transaction do
         @transaction_primitive.should_receive(:begin)
         @transaction_primitive.should_receive(:rollback)
         @transaction_primitive.should_receive(:close)
-        p = Proc.new do raise &quot;test exception, never mind me&quot; end
-        @transaction.should_receive(:within).with(&amp;p)
-        lambda do @transaction.commit(&amp;p) end.should raise_error(Exception, /test exception, never mind me/)
+        p = Proc.new do end
+        @transaction.should_receive(:within).with(&amp;p).and_raise(Exception.new('test exception, never mind me'))
+        lambda { @transaction.commit(&amp;p) }.should raise_error(Exception, /test exception, never mind me/)
       end
     end
   end
@@ -280,8 +280,8 @@ describe DataMapper::Transaction do
   describe &quot;#method_missing&quot; do
     before :each do
       @transaction = DataMapper::Transaction.new(@adapter, @repository)
-      @adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::AnyArgsConstraint).and_return(false)
-      @adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::NoArgsConstraint).and_return(false)
+      @adapter.should_receive(:is_a?).any_number_of_times.with(any_args).and_return(false)
+      @adapter.should_receive(:is_a?).any_number_of_times.with(no_args).and_return(false)
       @adapter.should_receive(:is_a?).any_number_of_times.with(Regexp).and_return(false)
     end
     it &quot;should delegate calls to [a method we have]_if_[state](adapter) to [a method we have](adapter) if state of adapter is [state]&quot; do
@@ -326,11 +326,11 @@ describe DataMapper::Transaction do
   describe &quot;#each_adapter&quot; do
     before :each do
       @transaction = DataMapper::Transaction.new(@adapter, @repository)
-      @adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::AnyArgsConstraint).and_return(false)
-      @adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::NoArgsConstraint).and_return(false)
+      @adapter.should_receive(:is_a?).any_number_of_times.with(any_args).and_return(false)
+      @adapter.should_receive(:is_a?).any_number_of_times.with(no_args).and_return(false)
       @adapter.should_receive(:is_a?).any_number_of_times.with(Regexp).and_return(false)
-      @repository_adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::AnyArgsConstraint).and_return(false)
-      @repository_adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::NoArgsConstraint).and_return(false)
+      @repository_adapter.should_receive(:is_a?).any_number_of_times.with(any_args).and_return(false)
+      @repository_adapter.should_receive(:is_a?).any_number_of_times.with(no_args).and_return(false)
       @repository_adapter.should_receive(:is_a?).any_number_of_times.with(Regexp).and_return(false)
     end
     it &quot;should send the first argument to itself once for each adapter&quot; do
@@ -386,8 +386,8 @@ describe DataMapper::Transaction do
   describe &quot;#do_adapter&quot; do
     before :each do
       @transaction = DataMapper::Transaction.new(@adapter, @repository)
-      @adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::AnyArgsConstraint).and_return(false)
-      @adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::NoArgsConstraint).and_return(false)
+      @adapter.should_receive(:is_a?).any_number_of_times.with(any_args).and_return(false)
+      @adapter.should_receive(:is_a?).any_number_of_times.with(no_args).and_return(false)
       @adapter.should_receive(:is_a?).any_number_of_times.with(Regexp).and_return(false)
     end
     it &quot;should raise if there is no connection for the adapter&quot; do
@@ -447,8 +447,8 @@ describe DataMapper::Transaction do
       @other_adapter = mock(&quot;adapter&quot;)
       @other_adapter.should_receive(:is_a?).any_number_of_times.with(Array).and_return(false)
       @other_adapter.should_receive(:is_a?).any_number_of_times.with(DataMapper::Adapters::AbstractAdapter).and_return(true)
-      @other_adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::AnyArgsConstraint).and_return(false)
-      @other_adapter.should_receive(:is_a?).any_number_of_times.with(Spec::Mocks::NoArgsConstraint).and_return(false)
+      @other_adapter.should_receive(:is_a?).any_number_of_times.with(any_args).and_return(false)
+      @other_adapter.should_receive(:is_a?).any_number_of_times.with(no_args).and_return(false)
       @other_adapter.should_receive(:is_a?).any_number_of_times.with(Regexp).and_return(false)
       @transaction = DataMapper::Transaction.new(@other_adapter)
     end</diff>
      <filename>spec/unit/transaction_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e5df3f6a58ae7e591f188359e33984fbccea9cfd</id>
    </parent>
  </parents>
  <author>
    <name>Dan Kubb</name>
    <email>dan.kubb@autopilotmarketing.com</email>
  </author>
  <url>http://github.com/sam/dm-core/commit/3e1142823bb26f497c1e91d18af12162c43e4e94</url>
  <id>3e1142823bb26f497c1e91d18af12162c43e4e94</id>
  <committed-date>2008-11-15T22:12:33-08:00</committed-date>
  <authored-date>2008-11-15T22:12:33-08:00</authored-date>
  <message>Fixed to work with Addressable 2.0

* Updated dependency to be equal to 2.0.0 for Addressable
* Fixed failing specs caused by too many mocks and/or relying on private
  constants within RSpec.</message>
  <tree>edc86b4a957e813fb9d044c38cd17823638662f3</tree>
  <committer>
    <name>Dan Kubb</name>
    <email>dan.kubb@autopilotmarketing.com</email>
  </committer>
</commit>
