Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
This comparison is big! We're only showing the most recent 250 commits
Commits on Jul 09, 2008
Dan Kubb Updated exception to show which model has the undefined relationship 498f652
Dan Kubb Minor code cleanup 182e590
Dan Kubb Updated PropertySet#[] to throw exception when name unknown d0637e8
Dan Kubb Stripped whitespace with "sake strip" 6ed6c34
Dan Kubb Refactored Model property and relationship inheritance
* Define the properties and relationships within a repository block to
  ensure they are created in the proper scope.
* Make @properties the same as parent model's for more consistent
  behavior.
* Removed uncessary custom PropertySet#dup method
92f271b
Dan Kubb Attempt to load the child_key if both models are defined 5a84ef8
Dan Kubb Updated Model#property to define property in model descendents
* This helps deal with load order problems where a model inherits from
  a parent model, and then the parent adds a new property afterwards
  (which can happen the first time the child_key is defined)
e821eea
Dan Kubb Added Collection#build
* Allows you to instantiate a new resource within the collection without
  saving the resource
e4f58b7
Dan Kubb Use sudo for non-windows gem install if SUDOLESS env not set 3f315e9
Bernerd Schaefer Adding DependencyQueue from DM 0.3, with spec. 0799f12
Bernerd Schaefer sake strip c0ec17a
Bernerd Schaefer Added DataMapper.dependency_queue, fixed LoggingHelper aea81be
Commits on Jul 10, 2008
Dan Kubb Fixed bug where SEL was not returning a Collection when expected
* Refactored some of the SEL assignment code.  Does not assume the
  foreign key will be the first condition within the query.
* Refactored OneToMany::Proxy code to properly set default values for
  any resources appended to the collection.  Logic is organized to be
  more similar to Collection.
* Discriminator was being duplicated within the query, so made sure to
  unique the values prior to appending new models.
619b0ba
@bernerdschaefer bernerdschaefer Changed DependencyQueue.resolve! to use Object.find_const instead of …
…Object.const_get
619d19a
@bernerdschaefer bernerdschaefer Fixed DependencyQueue to work with latest extlib, changed spec to use…
… unique class name.
50e4857
@bernerdschaefer bernerdschaefer Added Model.base_model, updated relationships to use model.base_model…
….name to prevent STI models from using the wrong name.
3434d93
Bernerd Schaefer Reverting some Model.inherited changes. Returning closer to original …
…method of duplicating relationship objects.
35cabb7
@bernerdschaefer bernerdschaefer STI models get updated relationships bb25321
Dan Kubb Revert "Use sudo for non-windows gem install if SUDOLESS env not set"
This reverts commit 3f315e9.
eb18f92
Commits on Jul 11, 2008
Dan Kubb Refactored Relationships to use repository name insetad of reference
* This resolves some nasty bugs where repository objects were being
  used that weren't on the scope stack, so they would have ever-increasing
  IdentityMap, but they were inaccessible to all other code that uses
  repository blocks.
* Updated model to have a default scope, and changed Discriminator and
  Paranoid types to update the default scope with the conditions rather
  than push onto the scope stack directly.
* Removed unecessary instantiation of repository object where possible.
* Minor code cleanup
af5c773
Dan Kubb Collection can now delegate to the model method, with scope
* This allows a Collection to delegate to a model's method with the
  proper level of scope.  This should also allow chaining of model
  methods that return Collection objects, as well as using model
  methods that return a Resource with the correct scope.
618bfd3
Dan Kubb Updated lazy load to only load non-loaded attributes
* Updated Paranoid types to be lazy by default
* Fixed deprecation warning (spelling and formatting)
* Minor spec cleanup
a1f99a9
Dan Kubb Specced Property#field
* Ensure repository_name may be an optional argument to Property#field
* Ensure custom field name can be passed in to Property constructor
* Ensure that if no repository_name passed into Property#field that it
  would use the model's repository_name by default
ae8b422
Commits on Jul 12, 2008
David James Gave 'rake install' sudo powers
I noticed that 'rake install' for dm-more and extlib uses sudo, so it
seems to make sense that dm-core should too.
3a8f314
Commits on Jul 13, 2008
@dbussink dbussink Create spec that shows bug in using get on through relations a61efdc
Dan Kubb Updated Collection#freeze to work 8d917f9
@dbussink dbussink Collection#unique is now supported through group by a809118
@dbussink dbussink Fix mocks for new Query#unique? functionality 09dcdfd
Dan Kubb Removed Query#group_by
* Simplified SQL generation in the DO Adapter
c15b990
Carl Lerche Starting to move models scatterd throughout the specs to individual f…
…iles in a model subdirectory, grouped by metaphor
fb4227f
Carl Lerche Merge branch 'master' of git@github.com:sam/dm-core 921de37
Carl Lerche Created a placeholder for a SPECS file that explains the basics of na…
…vigating the specs as well as sets some guidelines for writing specs.
d0ff07f
Commits on Jul 14, 2008
@hassox hassox Adds support for multi repository paranoid deletes. Also fixes a bug …
…where only one paranoid property was set.

Squashed commit of the following:

commit b06edab6cd129a9715d7a84b3cba4e6afb7c35fe
Author: Daniel Neighman <has.sox@gmail.com>
Date:   Mon Jul 14 18:41:23 2008 +1000

    removes personal info about my db :P

commit 5acdcd68d45972c52a971a9672655dcfc05cbe7f
Author: Daniel Neighman <has.sox@gmail.com>
Date:   Mon Jul 14 18:35:11 2008 +1000

    fixes a bug with paranoid properties where they are not all set when multiiple are declared

commit b9c0095978899ab8b62fba2c578a463b26f97386
Author: Daniel Neighman <has.sox@gmail.com>
Date:   Mon Jul 14 17:10:18 2008 +1000

    Adds code to respect repositories for paranoid deteletes

commit b886a1eba14357973d6ff58cd66fbf4876eb1187
Author: Daniel Neighman <has.sox@gmail.com>
Date:   Mon Jul 14 17:08:07 2008 +1000

    Adds code to respect repositories for paranoid deteletes

commit 73af3e6af973eff3c7140ce5391f4143ef8388b9
Author: Daniel Neighman <has.sox@gmail.com>
Date:   Mon Jul 14 16:22:55 2008 +1000

    Success.  A failing spec on Paranoid Booleans
bff307e
@hassox hassox Fixes a bug in exclusive scope where it would load default scopes abe7383
@hassox hassox Adds an accessor "with_deleted" to paranoid deletes 54ae3d4
Bernerd Schaefer OneToMany::Proxy#<< returns if it already includes the resource added…
…. Resolves #394.
aa9bed8
Bernerd Schaefer Fixed last commit: #<< on OneToMany should only reject duplicates if …
…they're saved records. Added dbussink's spec from #394.
493b401
Bernerd Schaefer Removed unneccesary spec added to assocation_spec. Changed push/unshi…
…ft to reject! saved resources already in the collection.
d45305a
Bernerd Schaefer Preparing dm-core for use with Hoe.
* Renamed CHANGELOG to History.txt
* Renamed README to Readme.txt
* Added tasks/hoe.rb
* Added tasks/install.rb
325f3a6
Bernerd Schaefer Explicitly require rake tasks for clarity 6095e15
Bernerd Schaefer Removed requires of rake packaging tasks 95026bd
Bernerd Schaefer Removing sqlite db's in spec from Manifest.txt f16545b
Bernerd Schaefer Altering the Rakefile/hoe setup to be more portable e5bc973
Wesley Beary prevent duplicates ids in the parent lookup and make more consistent …
…with get_children
74dc532
Commits on Jul 15, 2008
@hassox hassox Fixes some naming conventions on the default_scope change 09783ab
Dan Kubb Fixed errors in ManyToMany::Proxy class and specs
* Earlier spec runs were affecting later spec runs because the data
  wasn't being cleared after a run.  This affected the counts and
  expected numbers of associations.  Updating to auto-migrate after
  each spec run corrects this error.
* Updated specs to check before and after conditions to ensure the
  mutator methods were having a real effect.  Caught several bugs with
  this approach.
* Added specs for ManyToMany::Proxy#replace
* Fixed ManyToMany::Proxy#replace to actually create the "through"
  resource the same was ManyToMany::Proxy#<< does.  Refactored common
  code into private method ManyToMany::Proxy#relate_resource
* Updated ManyToMany::Proxy#replace to accept a Hash instead of a
  Resource object.
71e9871
Dan Kubb Stripped whitespace with "sake strip" 6dfffdc
Carl Lerche Starting to clean up the integration specs: Starting with resource_sp…
…ec. Creating a new model metaphor: Zoo
eea3813
Dan Kubb Refactored SQL generation
* Loosened constraints on Query object that would allow #fields and
  #order to be empty arrays in very specific circumstances. (needed for
  dm-aggregates)
* Split up query generation for ORDER BY part
* Allow Query::Operator objects to be passed through when in Query#fields
802ed5d
Dan Kubb Added specs for Query::Operator#==
* Updated Query::Operator#== to only return true if the other's class
  is equal to, or a descendant of self.class
df51cd2
Dan Kubb Ensure GROUP BY only happens with Query#fields contains a Property
* Added specs for GROUP BY change, and moved the classes to the top
  of the file and namespaced them to avoid colissions.
f8bf592
Dan Kubb Ensure SQL specific query specs only run for DO adapters 0c388cc
Commits on Jul 16, 2008
Carl Lerche Starting to rework the DataMapper::Resource specs b43d419
Carl Lerche Fixed the argument signatures on after hooks 66cd29b
Commits on Jul 20, 2008
Bernerd Schaefer Fixing type on windows install.rb tasks 81fd6e4
Bernerd Schaefer Fixed hoe tasks to ignore .db files, updated Manifest.txt to include …
…new spec files.
e261199
Commits on Jul 21, 2008
@dbussink dbussink Spec that shows a bug with associations when saving new objects 7cc0950
Aadithya Deshpande fix #459 : type and id should be undef'd by Path ( to allow Model.joi…
…n.id )
c01abf0
@mayo mayo remove scale from required parameters for a float. Default the scale …
…parameter

of float to nil.
30e4e58
Commits on Jul 22, 2008
@dbussink dbussink Merge branch 'master' of git@github.com:sam/dm-core 431513b
@bernerdschaefer bernerdschaefer Updated Property#set to load lazy values before setting the new value.
*  Extracted lazy loading from Property#get to Property#lazy_load(resource)
*  Fixed unit/property_spec
*  Added spec to property_spec for lazy loading.
450fee3
@bernerdschaefer bernerdschaefer Model#inherited copies @validations if the model responds to validato…
…rs. Resolved #327.
da8cd46
@bernerdschaefer bernerdschaefer Fixed spacing in last commit. 6efdcbe
Commits on Jul 23, 2008
Carl Lerche Merge branch 'master' of git@github.com:sam/dm-core 2601ae4
Carl Lerche Tweaked the SPECS document and added a rough outline for the new spec…
… organization
9d7560e
@bernerdschaefer bernerdschaefer Applied doc patch from #479. b3ba958
@bernerdschaefer bernerdschaefer Added deprecation warning for Model#create!. Removed all calls to cre…
…ate! in specs. This resolves #428.
c27a67f
Commits on Jul 24, 2008
@halorgium halorgium Raise a more meaningful exception
In a DM::Resource when an associated class is missing, it is non-obvious where it is
failing.
9829411
@dbussink dbussink Merge branch 'master' of git@github.com:sam/dm-core e53d546
@dbussink dbussink Spec that shows a bug in associations 5fb1ed1
@bernerdschaefer bernerdschaefer Version bump. 809d99c
@bernerdschaefer bernerdschaefer Updated Model#inherited to properly include a parent's validations if…
… dm-validations is present.
7d649d8
@bernerdschaefer bernerdschaefer Hoe update with gemspec for github.
*  Added rake gemspec, which will check Manifest.txt, and if no updates are needed, will generate a gemspec
*  Updated hoe.rb to remove the dependency on hoe
*  Updated hoe.rb's clean_globs to clean up better.
9a9254e
@bernerdschaefer bernerdschaefer Added note on contributing to edge datamapper. Modified new gemspec t…
…ask to ensure proper behavior.
3dc0daa
Commits on Jul 25, 2008
David James Small doc fixes for set_log 81ae013
David James Updated FAQ on logging 77736bc
Commits on Jul 26, 2008
David James The FUBAR threat was overrated
The comments said RSpec would FUBAR everything if I removed the quotes.
So, naturally, I had to see for myself.  Turns out that the specs run
fine. :)
edb8b88
David James Throwing away the leftovers
Please help; resource_spec still need a lot of clean up.
cfa27ec
David James Docs on giving custom socket for 'rake spec' f55fc12
David James Added specs, more specific exception for update_attributes f49c849
Commits on Jul 28, 2008
Guy van den Berg added mysql socket location common on ubuntu 9235918
Guy van den Berg added mysql socket location common on ubuntu a46858e
@dbussink dbussink Correct spec that shows existing bug 064db16
@dbussink dbussink Update specs to pending block format f6e3d7b
David James Changed (more) pending specs to block style 9114765
David James Fixing 'association' typos fd5f5ce
David James New specs for :through associations
The associations on already saved models currently pass.  However, the
associations on unsaved (i.e. in-memory) models do not currently pass.
During a discussion today on #dm-hacking, ssmoot, dkubb, and I agree
that supporting in-memory associations makes sense.
d3f3439
David James Small restructuring of association_through_spec 30d53e5
Commits on Jul 29, 2008
@bernerdschaefer bernerdschaefer Separating field and resource naming conventions. Altered field namin…
…g conventions to accept a Property.
c0ef886
David James New specs for in-memory one-to-many associations 0f60efd
@bernerdschaefer bernerdschaefer Added Model#field_naming_conventions
As a cleaner way of handling legacy databases, where the field naming conventions can be different from one model to the next, the naming conventions for fields are now, like Model#storage_names, tied to a particular model and repository. The default convention is set to repository(k).adapter.field_naming_convention, as it was before.
c5ac5e5
@dbussink dbussink Correct spec that shows a bug 38c3f1f
@dbussink dbussink Merge branch 'master' of git@github.com:sam/dm-core f727c76
@bernerdschaefer bernerdschaefer ManyToOne relationships update child on save.
If a child and parent object are both new, when you save the child it
gets the new id for the parent automatically.
f714e0b
@bernerdschaefer bernerdschaefer Cleaning whitespace with sake strip. 7fac7e5
Dan Kubb Cleaned up error reporting when adapter is not found 04ee546
@bernerdschaefer bernerdschaefer ManyToOne association accepts association object.
Updated ManyToOne proxy to implement instance_variable_get like
kind_of? and responds_to?, checking super first and then the parent
object. This was necessary because trying to get the key value on a
proxy object would call instance_variable_get on the proxy and not on
the resource.
d47e041
Commits on Jul 30, 2008
@bernerdschaefer bernerdschaefer Raw condition support on associations.
Updated DM::Relationship to allow the use of raw conditions using
finders on associations.
c9af22c
@bernerdschaefer bernerdschaefer Added spec for STI and the IdentityMap.
Added a spec to confirm that the IdentityMap is correctly used with
single table inheritance models. This resolves #355.
dbf2149
@bernerdschaefer bernerdschaefer Removed unneccesary :class_names.
Extlib supports finding parent and sibling constants, so there's no
need to specify a :class_name for relationships in the same module.
This confirms that #411 is resolved.
dae08c0
Commits on Jul 31, 2008
@wycats wycats Move unknown options to Property#other_options so adapters can use th…
…em for their own options in naming conventions
a6cb523
@wayneeseguin wayneeseguin Added some specs for many_to_many association for join tables with on…
…ly a compound key.
c69275a
Commits on Aug 01, 2008
@bernerdschaefer bernerdschaefer Resource.save returns true if associations save.
If a resource is not saved, but any of its associations are, then it
will now return true. Also renamed 'success' to 'saved' in #save.
736aa91
Commits on Aug 03, 2008
Tymon (teamon) Tobolski fixed offset with lazy loading issue [#507], added dumping column val…
…ue for :default [#508]
265f894
@somebee somebee fixed problem with composite keys and SEL. Temporary solution (compos…
…ite keys still doesn't work properly until we support OR)
c969510
@somebee somebee Merge branch 'master' of git@github.com:sam/dm-core c76d667
Commits on Aug 04, 2008
@bernerdschaefer bernerdschaefer Collection block defaults to lambda {}
For SEL, we need to be able to create a non-lazy Collection. This lets
us create a new Collection with no block, and add resources to it
directly.

This resolves #512 and #505.
8149cf3
@bernerdschaefer bernerdschaefer Relationship#get_children always includes child.
Relationship#get_children assumed that the child would be in the
identity_map, which is not the case when the child is not saved yet.

Resolves #509.
d7a814a
@bernerdschaefer bernerdschaefer Resource#key returns original value when changed.
Calling key on a saved resource returns the original key value if it
has changed, which allows you to save and update resources which have
new primary keys.

This resolves #504.
48371cd
Commits on Aug 07, 2008
@dbussink dbussink Refactor auto migration into two steps 9639709
@dbussink dbussink Mark new up / down auto migrate as private 5d78c37
@dbussink dbussink Refactor one more auto migration step to up / down for dm-constraints 9e313e7
Dan Kubb Updated table introspection to use proper table
* Reformatted SQL queries
0a33789
Commits on Aug 12, 2008
Dan Kubb Adjusted extlib dependency to version 0.9.5 fa6a683
Dan Kubb extlib version is now independent of dm-core gem version ba497ed
Dan Kubb Ensure Strings are passed into inflection methods not Symbols e935253
Dan Kubb Stripped whitespace with "sake strip" b0c7a37
Commits on Aug 16, 2008
@foysavas foysavas Apply Bryan Ray's fix for orphaned records 1195388
@foysavas foysavas Changed association spec language a bit 38ed7f3
@dbussink dbussink Implement Resource#hash with specs 6ff03dd
@dbussink dbussink Fix IN() clause that fails on Postgres with an empty list e1b6da2
@dbussink dbussink Small bugfix for empty arrays and IN() and fixes for Postgres < 8.2 746af64
@dbussink dbussink Fixup the Postgres unit specs for destroying models 4f84ce8
Commits on Aug 19, 2008
@benburkert benburkert Fix for #528. Updates how custom types are dumped in Query.
* If a query involves a custom type, the property value must be dumped via the custom type API.
* Query's with custom types in a Query::Path are handled as a special case.
4fbeca8
Commits on Aug 21, 2008
@cheba cheba Fixed example for DataMapper::Resource.descendants e43d146
@bernerdschaefer bernerdschaefer Version Bump to 0.9.5. cb68ca7
Mike Nicholaides Fixed a bug where OneToMany#build added the built object to the assoc…
…iation twice
2ca10a5
Mike Nicholaides Fixed a bug where OneToMany::Proxy#build added the built record to th…
…e association twice
a685105
Commits on Aug 22, 2008
@tcnijmeijer tcnijmeijer Fixed bug with faulty ordering of relationships when adding them to a…
… read query.

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
f181d50
@bernerdschaefer bernerdschaefer Added []= method to PropertySet.
We needed a []= method on PropertySet to ensure that properties from
repositories other than :default could overwrite existing properties.

This resolves #540.
6278e45
Commits on Aug 24, 2008
Mike Nicholaides Merge git://github.com/sam/dm-core fcec552
Mike Nicholaides :through associations now silently fail, instead of loudly complain j…
…ust because they were loaded and the model wanted to save itself
50f8a7d
Mike Nicholaides Merge branch 'master' of git@github.com:nicholaides/dm-core 2e345c2
Commits on Aug 26, 2008
Bryan Ray Fixed gem dependency issues ... should require version >= extlib. 583cb78
@bernerdschaefer bernerdschaefer Made data_objects dependency >= 0.9.5.
DataObjects releases (like those of Extlib) are largely independent of
developments in dm-core, so we don't need to require an exact version.
2495d85
@bernerdschaefer bernerdschaefer Version bump to 0.9.6.
Updated all DO references to >= 0.9.5.
701c7cd
Commits on Aug 27, 2008
@dbussink dbussink Properly fix the relationship ordering b00eb2c
Commits on Aug 29, 2008
@wycats wycats Explicitly require the inflector module 55f47fa
@dbussink dbussink Remove IN() with empty array handling for now, because it's buggy f287a1c
Commits on Aug 30, 2008
@wycats wycats Merge branch 'master' of git@github.com:sam/dm-core ded4769
@wycats wycats Fix to dirty custom types when used with hash tracking, and modificat…
…ion of all property specs to use public interfaces. TODO: heckle.
2b65f20
@wycats wycats What's the point of that extra bit of code? I tried to write a spec t…
…o test the functionality but only got frusstrated with the entire notion of hitting another repository from inside a repository-locked property.
f44ba8c
@wycats wycats Tests pass 3f77620
Commits on Aug 31, 2008
@wycats wycats Fix issues with [] and add () around conditions to bullet-proof them. c426867
@wycats wycats .not => [] is a noop (should be treated as no condition at all) ff6ebf6
@wycats wycats Refactor #get to more clearly show how original_values works. fb8390b
@wycats wycats Make query_spec pass in various focused configurations and all adapters 8191bb2
@wycats wycats Property#get is all heckled out. e253765
@wycats wycats Some refactor and heckle-proofing lazy_load and others fbdcf84
@wycats wycats Use questionable means to prove a point. 14d9166
Commits on Sep 01, 2008
@namelessjon namelessjon Added procs as defaults to the rdoc comments fa90393
Commits on Sep 02, 2008
@wycats wycats Remove hecklability of #typecast 1295f9a
@wycats wycats Add specs for proc defaults f367299
@wycats wycats This is why people shouldn't use mocks. 5c9e81a
Commits on Sep 08, 2008
@sam sam Merge branch 'master' of git://github.com/cheba/dm-core into cheba ec41edf
@sam sam Merge branch 'master' of git://github.com/nicholaides/dm-core into ni…
…cholaides
2cb9113
Paul Sadauskas Only #assert_valid_model once per model, rather than once per #new. A…
…lso, add a benchmark to check the speed of #new'ing
16f99f5
Paul Sadauskas Merge branch 'master' of git@github.com:sam/dm-core 3c4171c
@sam sam Merge branch 'master' of git@github.com:sam/dm-core 847de58
Commits on Sep 09, 2008
@dbussink dbussink Don't override property if it is already set and duck type Query::Pat…
…h a bit more
9b5eb25
@dbussink dbussink Properly duck type e9c8ff6
Wesley Beary Modify auto_migrate/upgrade to use model defaults
SomeModel.auto_migrate! without params already used either the current
repository context or the default repository for the model, but
DataMapper.auto_migrate! without params tried to migrate all the models within
the default repository.  Now, DataMapper.auto_migrate! without params respects
the default repository for each model (same effect as running .auto_migrate! on
each repository in turn).  The functionality for individual models should be
unaffected and it will still do all migrations in the specified repository if
a parameter is used.  Changes shouldn't effect most people, but make things a
little nicer for multiple repository users.
416f4aa
Wesley Beary keep eager_properties in an ivar, like properties db6c116
Commits on Sep 10, 2008
Wesley Beary set child_keys in specs to silence warnings d781e3a
Wesley Beary check new_record? to speed up property.lazy_load d69127d
Paul Sadauskas Benchmark to test #new'ing models with some attributes cf05660
Wesley Beary fix typo to clarify comment on last commit 9025b80
Commits on Sep 11, 2008
Wesley Beary use model.properties.default for eager_properties 3eab4f6
Wesley Beary property_set.lazy load expects array of names f5df8b0
@bernerdschaefer bernerdschaefer Added repository_name to Model.default_order.
Model.default_order did not check the repository name, and cached the
result, so if keys were declared in different repsitories, the first
would get added to queries and never the second.

This resolves part of #540.
5cc9d91
@bernerdschaefer bernerdschaefer Don't copy a property to amother repository if it exists.
Updated Model.property to only copy a property from the default
repository to the other repositories if it's not present.

This should resolve #540.
3938f0f
@bernerdschaefer bernerdschaefer Sensible default :remote_name for ManyToMany.
Applied patch by lobo_tuerto to set you change the :class_name of a
many to many relationship without needing to set the :remote_name.

This closes out #560.
8ec812f
Commits on Sep 12, 2008
Dan Kubb Stripped whitespace with sake strip 0ac6b42
@joevandyk joevandyk test gem spec change 3cd0fe1
@joevandyk joevandyk removed stupid line bf645c1
Dan Kubb Updated model declarations to match new spec conventions 885f68e
@sam sam Merge branch 'master' of git://github.com/joevandyk/dm-core into joev…
…andyk
0287c63
Commits on Sep 14, 2008
@dbussink dbussink Performance refactoring
Move to using more anonymous blocks, replacing Addressable::URI
with the faster DataObjects::URI, some algorithm refactorings
and memoization at the hot spots
7a8b498
Dan Kubb Minor updates to improve ruby 1.9 compatibility in Rakefiles bee06bf
Wesley Beary fix STI
When loading the model we really care about if
and of the query fields are Discriminators, not
if the query and query.model have the same
property object.  Also, since STI passes stuff
through lazy load it needs properties rather than
just names.  Fixes new spec from ticket 525.
be5d272
Commits on Sep 15, 2008
Wesley Beary Cleanup and specs
Following up on last commit, removed property_set
and model inheritance lookup stuff that is no
longer used, simplified the inheritance stuff for
query, and added specs.
ded7bd1
@somebee somebee added benchmark for SEL, showing how _incredibly_ slow it is atm. (>3…
…00x as slow as AR)
e023348
@dbussink dbussink Refactor some Hash.new proc's out 954649f
@bernerdschaefer bernerdschaefer Added PropertySet#clear.
Calling PropertySet#clear will clear out all declared properties,
and reset #key and #defaults to nil.
b547f24
@somebee somebee fixing benchmark a8e9346
@somebee somebee Merge branch 'master' of git@github.com:sam/dm-core 045d16a
@somebee somebee fixed dumpfile for benchmarks to include users to 5570490
@somebee somebee fixing SEL-problem that caused severy performance penalties f690b23
@dbussink dbussink Merge branch 'master' of git@github.com:sam/dm-core 6c56af1
@somebee somebee a more stable fix for slow SEL 84ad212
@dbussink dbussink Merge branch 'master' of git@github.com:sam/dm-core d4fe7aa
@dbussink dbussink Clean up collection caching a bit 5df746a
@dbussink dbussink Some more performance optimizations 8735c90
Commits on Sep 21, 2008
@advany advany fix that .new on a association didn't relate to the parent when being…
… saved
04da59c
Commits on Sep 22, 2008
@somebee somebee fixed annoying bug with one_to_many and STI where it tried to call an…
… unknown association_accessor (using the assoc-name on wrong side of relationship). This is a temporary fix, should be solved in a more fundamental way later.
00170de
@dbussink dbussink Rework Rakefile for CI c6f52bd
@dbussink dbussink Merge branch 'master' of git@github.com:sam/dm-core 022087e
@dbussink dbussink Fix task 1cc2038
@advany advany Merge branch 'master' of git@github.com:advany/dm-core 0370fe9
@dbussink dbussink Remove dump mv for now d7becaa
Commits on Sep 23, 2008
@dbussink dbussink Quick fix task ff9b6b4
Commits on Sep 25, 2008
Paul Sadauskas Support native UUID type in postgres 6a1aef1
Paul Sadauskas Can't actually add this here, because it relys on dm-types eb0797b
Commits on Sep 27, 2008
@dbussink dbussink Fix bugs \#444 and \#566 and \#577 which all had the same cause
This basically tries to make relationship initalization a bit smarter.
The code is pretty ugly, but it just tries loading up relations until
they work (that is, all related objects are loaded). This is done
for every Model#properties call, but of course cached once they are
in a sane state.
4384aa0
@dbussink dbussink Don't lazy load the adapters for now, it has nasty consequences de479d9
@dbussink dbussink Merge branch 'master' of git@github.com:sam/dm-core 6a10a5c
@namelessjon namelessjon Wrap the adapter requires in rescue statements
This stops people from needing to have all three adaptor gems
installed.  Instead they can have only the ones they need.
b07ba40
Commits on Sep 28, 2008
@dbussink dbussink Fix SEL code
Using get_parent was overkill and actually caused problems. We know
here for sure that the ID map is filled, so we don't need all the
complexity of the get_parent method.
aa70eb6
Commits on Oct 01, 2008
Luke Sutton Have ManyToMany#setup account for models inside modules when generati…
…ng the anonymous join model.
a7106d3
Commits on Oct 02, 2008
David James Fixes small typo 61eeceb
Commits on Oct 05, 2008
Dan Kubb Stripped whitespace with "sake strip" 9570d18
Dan Kubb Updated benchmark script to show diff between DM and AR more clearly
* Simply reversed how the stats are displayed in the chart.  AR is now
  used as a baseline instead of DM.  The extra DIFF column now shows how
  much faster DM is over AR, rather than how much slower than AR is
  compared to DM.  For example, instead of displaying that DM takes
  0.05x (5%) as much time as AR to perform a task, it will now show AR
  takes 20x as long as DM to perform the task.  Given that DM is faster
  than AR in almost all respects, this is a better way to represent the
  differences.
605082c
Commits on Oct 06, 2008
@dbussink dbussink Refactor remaining Hash.new with a Proc usage out 410779e
Commits on Oct 07, 2008
Luke Sutton More fixes to better handle models inside modules, a covering spec an…
…d a tweak to the ModelLoder module so it can also handle unloading models inside modules.
f1a326b
Paul Sadauskas Created an InMemoryAdapter for testing 046d871
Paul Sadauskas Dont include my little testing script 93a2224
Paul Sadauskas Add Update and Delete to in-memory adapter 573515a
Wesley Beary bring manifest up to date 1cf685e
Dan Kubb Stripped whitespace with "sake strip" c43ba17
Dan Kubb Minor refactoring of InMemoryAdapter ecac20d
Commits on Oct 08, 2008
Dan Kubb Updated InMemoryAdapter to search by more criteria 41791bd
Commits on Oct 09, 2008
@dbussink dbussink Fix that saving a non-dirty object returns true 3558f1d
Commits on Oct 10, 2008
Dan Kubb Strategic Eager Loading fix for n+1 query problem
* SEL was pre-loading the collection properly, however, it wasn't
  properly assigning the matching records to the target resource.  This
  would cause a huge query to load every association in the collection,
  and then one query for each resource in the collection.  Effectively
  SEL was disabled and actually resulted in more queries than before.
fc002df
Dan Kubb Updated specs for SEL to check how many queries were executed
* Fixed failing Postgres specs
ff5c33f
Commits on Oct 11, 2008
@dbussink dbussink Fix Model#copy, this should really be specced... b97eee3
Commits on Oct 13, 2008
@paul paul Version bump to 0.9.7 26340a2
Commits on Oct 24, 2008
@bernerdschaefer bernerdschaefer Updated auto_migrate! to use self.base_model.
Updated auto_migrate_up! and auto_migrate_down! to use self.base_model
instead of searching for a superclass that isn't Object.

This means that you can now have a class that includes DM::Resource
that inherits from a non-DM class.
ba7a384
Commits on Nov 01, 2008
@bernerdschaefer bernerdschaefer Updated Query#update's field mergining logic.
Now Query#update only replaces the existing @fields if they are
the defaults for the model's property set. This lets DM load
missing non-lazy attributes excluded from the original :fields
list.

This resolves #626.
e5df3f6
Commits on Nov 16, 2008
Dan Kubb 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.
3e11428
Dan Kubb Updated gem() dependency to be =2.0.0 c0c5e4b
Dan Kubb Updated gem() dependency for addressable to be ~>2.0 781bbce
Commits on Nov 17, 2008
@oleganza oleganza added regression spec for a bug in SEL filtering in #first finder 5aad414
Commits on Nov 18, 2008
Dan Kubb Updated Manifest.txt to include missing files 6f41f69
Dan Kubb Updated version and gem dependencies e1c15f8
Dan Kubb Updated Model#to_query to use the passed-in repository 4070104
Dan Kubb Changed the gem deps to use the ~> instead of >= f6b4f6b
Commits on Nov 19, 2008
@oleganza oleganza failing regression test for #first({}) on eager loaded associations ad538ef
@oleganza oleganza failing regression test: lazy attribute loading clears diry_attributes be0ad89
Commits on Nov 28, 2008
@oleganza oleganza Merge branch 'master' of git@github.com:oleganza/dm-core into oa-master
* 'master' of git@github.com:oleganza/dm-core:
  failing regression test: lazy attribute loading clears diry_attributes
  failing regression test for #first({}) on eager loaded associations
  Changed the gem deps to use the ~> instead of >=
  Updated Model#to_query to use the passed-in repository
  Updated version and gem dependencies
  Updated Manifest.txt to include missing files
046b26a
Commits on Nov 30, 2008
Dan Kubb Revert "Updated Query#update's field mergining logic."
This reverts commit e5df3f6.
c1ef0ff
Dan Kubb Added spec to ensure regression in lazy loading does not occur again 204b3e1
Dan Kubb Updated Resource#inspect to not lazy load unloaded attributes a413f73
Dan Kubb Stripped whitespace d52ade5
Dan Kubb Updated ManyToOne::Proxy to delegate #class to parent
* Fixes issue with Merb resource() helper method not being able to
  figure out route using ManyToOne::Proxy object.

[#628 state:resolved]
63c50c4
Commits on Dec 02, 2008
@namelessjon namelessjon attributes= now respects method visibility
Previously, even private attributes could be set with a call to attributes=
This code tightens up the check for attribute visibility.
e26ade7
Commits on Dec 06, 2008
Dan Kubb Removed reference to LazyArray::RETURN_SELF 20a13d8
Dan Kubb Updated gem dependencies 902cba5
Dan Kubb Changed exception to check for to ancestor of Gem::LoadError c4c3701
Dan Kubb Version bump to 0.9.8 a090a89
Commits on Dec 07, 2008
@oleganza oleganza Merge branch 'master' into oa-master
* master:
  Version bump to 0.9.8
  Changed exception to check for to ancestor of Gem::LoadError
  Updated gem dependencies
  Removed reference to LazyArray::RETURN_SELF
  attributes= now respects method visibility
  Updated ManyToOne::Proxy to delegate #class to parent
  Stripped whitespace
  Updated Resource#inspect to not lazy load unloaded attributes
  Added spec to ensure regression in lazy loading does not occur again
  Revert "Updated Query#update's field mergining logic."
0cea1d3