Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
This comparison is big! We’re only showing the most recent 250 commits
Commits on Sep 12, 2012
@jnunemaker jnunemaker Release 0.12.0 fb517ee
Commits on Sep 14, 2012
@wpeterson wpeterson Only set defaults values on initialize()
Use write_key to bypass attr_accessible protection for default values.

Add support for default _id values to id accessor.
Commits on Sep 17, 2012
@wpeterson wpeterson Initialize default values for all cases
Ensure we setup default attribute values for initialize() and initialize_from_database().

This fixes issues with id generation and other default values being set for embedded docs/associations.
@wpeterson wpeterson Add automatic id generation when not set.
There are several cases (like clone()) where we want to generate a new id for a Document without initializing all other default values.

Allow the get() accessor for _id key to automatically generate the id if one is not defined.
Commits on Sep 19, 2012
@wpeterson wpeterson Declare TravisCI mongo service dependency.
Attempt to fix Travis build by enabling the mongo service.

This service was disabled by default and now requires an explicit service config.
Commits on Sep 20, 2012
@wpeterson wpeterson Declare TravisCI mongo service dependency.
Attempt to fix Travis build by enabling the mongo service.

This service was disabled by default and now requires an explicit service config.
Commits on Sep 21, 2012
@jnunemaker jnunemaker Merge pull request #451 from wpeterson/bug/travis_build
Fix Travis MongoMapper build
@danielbecker danielbecker Added SSL connection support b06b72b
@aledalgrande aledalgrande fixed tests broken by the SSL change a3e0c22
@aledalgrande aledalgrande test case for active SSL config 60483b9
@jnunemaker jnunemaker Minor: formatting 65b04fd
@jnunemaker jnunemaker Only pass ssl key if present bd6d20f
@jnunemaker jnunemaker Merge branch 'feature/initialize_defaults' of…
…erson/mongomapper into wpeterson-feature/initialize_defaults
@jnunemaker jnunemaker Rewrite part of the default key stuff
* has_default changed to default?
* default_attributes removed in favor of a select/each with defaulted
@jnunemaker jnunemaker Inherit connection and database name.
Subclasses were not getting these before. Only collection name was

Fixes #420 and #424
@jnunemaker jnunemaker Merge branch 'bug/issue-421' of…
…ongomapper into andrewtimberlake-bug/issue-421
@jnunemaker jnunemaker Fixes for ruby 1.8. 67b84ac
@jnunemaker jnunemaker Merge branch 'generator-parent-option' of…
…mongomapper into bearded-generator-parent-option
@jnunemaker jnunemaker Merge branch 'embedded-callbacks-optional' 3f28a93
@jnunemaker jnunemaker Merge branch 'safe_accepts_hash' of…
…mapper into balexand-safe_accepts_hash
@jnunemaker jnunemaker Optimization: use key?
keys.keys creates an uneeded array.
@jnunemaker jnunemaker Optimization: _id just does this behind the scenes. 4c7419a
@jnunemaker jnunemaker Move test helpers to support folder. 289c844
@jnunemaker jnunemaker Moving generator tests around.
Trying to get travis to pass.
@leifcr leifcr Fixes tests for generators b192a8e
@jnunemaker jnunemaker Merge pull request #453 from leifcr/test_generator_fix
Fixes tests for generators
@jnunemaker jnunemaker Use a bson ordered hash to fix 1.8.7/ree. b12af57
@jnunemaker jnunemaker A few modifier test tweaks. 17badd6
@jnunemaker jnunemaker Change assert keys removed to just take document 6fb1b01
@jnunemaker jnunemaker Added document found assertion 80ed6de
Commits on Sep 28, 2012
@cheald cheald Various performance fixes mostly related to avoid extraneous method i…
@cheald cheald OoO fix and a method call savings for Time#from_mongo 94e9825
Commits on Oct 01, 2012
@gaffneyc gaffneyc Support non-ObjectID ids being given to modifiers.
The partially broken by cf82ec6 where it allowed a single ID to be
passed and it would work as expected. This also adds support for
multiple IDs to be provided.
Commits on Oct 02, 2012
@jnunemaker jnunemaker Merge pull request #459 from jnunemaker/support-string-ids-in-modifiers
Support non-ObjectID ids being given to modifiers.
@gaffneyc gaffneyc Provide a fix for many associations not yielding to each in callbacks.
Ran into an issue when iterating over a many association in a
before_save callback on a document. For an association named foos,
`foos.inspect` would show the items but `foos.each` would never yield to
the given block since it appears to be empty.

The original issue I was tracking down was that instead of not yielding
it was yielding instances of Mongo::Cursor instead of the association
object. I haven't been able to recreate that case.
Commits on Oct 03, 2012
@jnunemaker jnunemaker Merge pull request #462 from jnunemaker/association-each-not-yielding
Provide a fix for many associations not yielding to each in callbacks.
Commits on Oct 19, 2012
@cheald cheald Don't iterate the whole cursor twice when using IdentityMap with #all…
…. Improve performance by avoiding explicit block bindings, extraneous method calls, and extraneous array creation.
@cheald cheald Eliminate a couple more extraneous block bindings 400f4b3
Commits on Oct 22, 2012
@cheald cheald Save typecast/uncast values and use those where possible, rather than…
… recomputing them every time they're accessed.

Use #key? rather than #keys.include? for better performance

Significantly reduce calls to #read_keys by avoiding #attributes calls from ActiveModel::Dirty. Improve the speed of #read_keys by avoiding string interns and ivar lookups where possible. Eliminate extraneous array creations in Keys#attributes and Associations#embedded_associations. Improve the speed of Dirty#write_key by using ivars directly rather than going through instance methods.

Revert to the slower-but-more-semantic key reads for #attributes now that the Dirty attributes thrashing is fixed.

attr_accessor -> attr_reader for semantic correctness
@jnunemaker jnunemaker Correctly define _id as bson ordered hash.
The reason the modifier tests were failing is because in #attributes, _id was being converted to a hash with indifferent access instead of staying a bson ordered hash.
Commits on Oct 26, 2012
@balexand balexand if scope method is found and called in model, then don't raise NoMeth…
@balexand balexand move delete and destroy methods to Querying::Decorator 8ae7ce0
Commits on Nov 03, 2012
@cheald cheald Fix Ruby 2.0 breakage caused by behavior changes to #respond_to? - fi…
…xes #473
Commits on Nov 25, 2012
@cheald cheald Skip dirty checks and assignments while loading from the DB; improves…
… load times
@cheald cheald Minor optimizations; memoize enum-build values and reduce iterations …
…where possible
Commits on Dec 07, 2012
@archSeer archSeer Fix legacy mongo class names, that are in deprecation as of 1.8.0.
Mongo::Connection -> Mongo::MongoClient
Mongo::ReplSetConnection -> Mongo::MongoReplicaSetClient
@cheald cheald Merge archSeer's mongo 1.8 changes, bump dependencies. 875e9a3
@cheald cheald Upgrade straggler connection references.
Upgrade safe semantics to be consistent with the new MongoClient safe semantics - legacy usage (:safe => true) is transparently upgraded to the new system.
BIG CHANGE: In keeping with the driver defaults, safety is now ON by default (:w => 1) rather than off by default. Use `safe false` to turn off safety in a model.
Fixed tests.
@cheald cheald Instead of forcing safety on by default, let the connection settings …
…specify it. Add w, pool_size, and ssl option defaults to the config.
@cheald cheald Fix options in the template cb66ae4
Commits on Dec 25, 2012
@nviennot nviennot Some source files were executable
cleaned up with:

    find lib test -type f | xargs chmod 644
@nviennot nviennot reverse_merge! -> reverse_merge
Tampering with the caller's argument might not be a good idea.
Have our own copy.
Commits on Dec 28, 2012
@jnunemaker jnunemaker Ignore bin and vendor, but not bin/mmconsole. 2e854cb
@jnunemaker jnunemaker Merge pull request #485 from nviennot/reverse_merge
reverse_merge! -> reverse_merge
@jnunemaker jnunemaker Merge branch 'query_methods_match_correct_docs' of…
…/balexand/mongomapper into balexand-query_methods_match_correct_docs
@jnunemaker jnunemaker Ensure sort order of documents when verifying in query test. f8d078c
@jnunemaker jnunemaker Merge branch 'master' of into…
… nviennot-master
@jnunemaker jnunemaker Change mode of executable files to 0644. 30e062c
@jnunemaker jnunemaker Restrict the mongo requirement a bit. f95c58e
@jnunemaker jnunemaker Update plucky version. 9ce41eb
Commits on Dec 31, 2012
@jnunemaker jnunemaker Upgrade plucky to latest.
New version of plucky includes a few performance tweaks.
@jnunemaker jnunemaker Bump up the plucky requirement for some bug fixes. f21862e
Commits on Jan 23, 2013
Kamil Bednarz Added record_timestamps class var to the timestamps plugin 7b72393
@jnunemaker jnunemaker Removed unnecessary then from pull request. 1e40d7e
Commits on Mar 06, 2013
@josevalim josevalim Update bundler and fix mocha dependency 65d6e2d
Commits on Mar 14, 2013
@jnunemaker jnunemaker Merge pull request #502 from josevalim/bundler
Update bundler and fix mocha dependency
@jnunemaker jnunemaker Update to latest plucky. b927077
@jnunemaker jnunemaker Tweak the test helper requires. 6750c70
@jnunemaker jnunemaker Get all gemfiles on the same page. 11fd334
@jnunemaker jnunemaker Fix test name conflict. 829c919
@jnunemaker jnunemaker Prefer && to and. f330747
@jnunemaker jnunemaker Prefer parenthesis when using assignment and || over or. c0a4dca
@jnunemaker jnunemaker Minor: extra whitespace removed. f5f6952
Commits on May 31, 2013
@ptn ptn Use ||= idiom fc3aea5
Commits on Jun 18, 2013
@cheald cheald Relax mongo driver requirement to permit 1.9 5986d29
@jamesbowles jamesbowles changed deleted cursor.next_object method to 989f683
@jnunemaker jnunemaker Merge pull request #518 from jamesbowles/master
changed deleted cursor.next_object method to
Commits on Jun 22, 2013
@cheald cheald Merge branch 'master' of git:// 55b5930
Commits on Jul 02, 2013
@cheald cheald Minor improvements to type cast speeds. Important since they're calle…
…d so often.

Remove instance #extends. They torch the ruby method cache! This is Very Very Bad. Don't do identity map stuff when the identity map is disabled.

Big changes to load behavior to improve load speeds substantially.

The big change here is that when loading from the database, we use
an #internal_write_key method that isn't eligible for plugins to
overwrite. Previously, things like #dirty_key's write_key would
be invoked when loading from the DB, which in turn invoked read_key
and a whole other chain of things. This massively slowed down read

Other changes have been made to improve internal_write_key. First off,
uncast values are now stored in write (by the app, not the DB), and
only then from the Rails plugin, as that's the functionality that is
concerned with uncast values. It's now a simple hash lookup rather
than being a whole mess of ivars.

Keys#keys now copies the class.keys to an ivar when it's used. This
method is used very frequently, and avoiding the extra function
call has substantial benefit when you start adding it up.

is_a? was replaced with instance_of? in a number of places; this is
faster when you want to compare types directly, rather than the
inheritance hierarchiy.

We're testing !foo rather than foo.nil? in a number of places for
similar reasons.

Several tests which were too brittle have been fixed.

These changes have resulted in something approaching a 1000% speed
increase when reading from the database.

Dirty doesn't need initialize_from_database anymore

Since MM depends on activesupport already, just go ahead and include the patch so we can remove #try

Performance improvements to boolean#from_mongo

Eliminate a bunch of uninitialized ivar warnings. Slightly improve the runtime of Key#get by avoiding a few method calls.

Remove spec that shouldn't have made it into this branch
@cheald cheald Add test suite converted to rspec
Update gemfiles for travis builds. Minor spec fixes for 1.8.7 - not passing on 1.8.7 yet

Add common gemfile
@cheald cheald Turn embedded callbacks off until a callback is actually defined.
@cheald cheald Fix syntax for Ruby 1.8.7 8b637c2
Commits on Jul 03, 2013
@cheald cheald Merge branch 'load_speed_fixes' 61aa557
@cheald cheald Merge branch 'rspec_suite' 4699250
@cheald cheald Merge branch 'embedded_callbacks_fix' 8e6cd50
@cheald cheald Get MM building on Rails 4.0. Add Ruby 2.0 and Rails 4 to the Travis …
…test matrix.
@cheald cheald Add specs for embedded callback deferral 4b4f7df
@cheald cheald Remove old test suite and update watchr scripts to point to rspec ins…
@cheald cheald Bump plucky version and fix the build list to reflect the spec suite …
@cheald cheald Add build status image to README 0e7f12a
@cheald cheald Limit subclass scopes to subclasses. Closes #512.
Prior to this change, scopes added to subclasses would be visible on the
@cheald cheald Fix run-all watchr task a8073ab
@cheald cheald Fix spec; shoulda syntax isn't valid here be119ff
@cheald cheald Fix link to Travis build [ci skip] 0a8c18b
Commits on Jul 04, 2013
@cheald cheald Merge branch 'use_assignment_idiom' of git://
Closes #514
Commits on Jul 05, 2013
@cheald cheald Compact before setting embedded docs on a many association. Closes #288 e8723aa
@cheald cheald Add specs to cover #402, #403, #320 4f829f0
@cheald cheald Add Dumpable plugin for specific control over marshalling. Add specs …
…to cover #330.
@cheald cheald Fix problems with @errors not being dumpable on 1.8 47b9a52
Commits on Jul 06, 2013
@cheald cheald Normalize IDs passed to #find!, so that it may accept an unsplatted a…
…rray of IDs, just like #find. Closes #468. Closes #469.
@cheald cheald Don't remove @_id if it's not already set; this is possible since @_i…
…d is lazy-assigned on access. Closes #498.
@cheald cheald Accept blocks passed to new/build/create/create! on documents and ass…
…ociations. Closes #352.
@cheald cheald Fix super call semantics which break on 1.8 061efc7
@cheald cheald Add #scoped for AR 3.x parity 5cfaa5a
Commits on Jul 07, 2013
@cheald cheald Don't attempt to create a connection when inheriting classes if one d…
…oes not already exist. Closes #460.
@cheald cheald mock is deprecated, use double instead c5582c9
@cheald cheald Add coveralls and simplecov support ae86a71
@cheald cheald Improve coverage via new specs and tagging non-coverable areas with :…
@cheald cheald Update README with doc links and coverage badge ff2332a
@cheald cheald Fix for unsorted hashes causing spec failures on 1.8 f205649
@cheald cheald Add JRuby to travis. Minor spec fixes for JRuby compatibility. ec08319
@cheald cheald Add testing information to README 6927d75
@cheald cheald Make the created_at/updated_at tests work on seconds rather than gett…
…ing hung up on microseconds
@cheald cheald If we find a klass or array of klass via ManyDocumentsProxy#method_mi…
…ssing, return it. Allows for ::many plugins. Closes #404.
@cheald cheald Validate key names. Explicitly disallow keys named `id` since they ar…
…en't reachable via plucky due to key normalization. Validate key names via regex. Closes #399.
@cheald cheald Disable SCI when an inherited model explicitly changes its collection…
…. Closes #396.
@foxban foxban mongo driver requires that read preference to be type of symbol acdd86f
@cheald cheald Add specs to cover read option conversion 08b4acd
@cheald cheald Fix issues with set_collection_name nullifying SCI on 1.8 0cc9903
Commits on Jul 08, 2013
@cheald cheald Add critera_hash when single collection inherited. Closes #454 c7856e4
@cheald cheald Add spec to cover SCI with polymorphic interfaces. Closes #322. 980be10
@cheald cheald Permit the use of #insert and #update in addition to #save, so that w…
…e can catch and raise errors in safe mode. Closes #398.
@cheald cheald When performing Time#to_mongo, round times off to milliseconds and di…
…scard microseconds. Closes #455.
@cheald cheald Add key aliasing
Add spec for key names which don't map to Ruby names easily.

Add :field_name as alternate for :abbr/:alias

Closes #353
Commits on Jul 09, 2013
@cheald cheald Add handling for default keys that permits for bad names. Disallow ke…
…ys starting with capital letters, as they'll run afoul of Ruby's naming expectations.
@cheald cheald Add #dynamic_keys and #defined_keys to let developers distinguish def…
…ined schema from derived schema. Use a less clever idiom for 1.8-compatible hash filtering.
Commits on Jul 10, 2013
@cheald cheald Guard against failures when the keys are read or written during a hij…
…acked #initialize before we've gotten to run our own #initialize. Closes #531. Closes pluginaweek/state_machine#268.
@cheald cheald Only use @_dynamic_attributes for actual dynamic attributes. Prevents…
… desync between instance variable attributes and dynamic attributes.

Unalias keys before writing
@cheald cheald Generate ivars for all keys that have valid ruby names to preserve ba…
…ckwards compatibility with 0.12.0. This commit should be reverted for 1.0.0.
@cheald cheald Test #ivar rather than #valid_ruby_name? for speed and clarity ebb2532
Commits on Jul 12, 2013
@cheald cheald Add Integer#from_mongo. Closes #533 815e46c
Commits on Jul 25, 2013
@cheald cheald Clear @object_id_keys memoization cache when a new key is defined. Cl…
…oses #534.
Commits on Jul 26, 2013
@cheald cheald Bump to 0.13.0-beta1 f08b348
Commits on Jul 28, 2013
@cheald cheald Bump plucky requirement to 0.6.5 e008280
Commits on Aug 02, 2013
@cheald cheald Lock timecop to 0.6.1 for Ruby 1.8.7 support 969217b
@cheald cheald Revert 1.9 hash syntax for hashrockets. e0d7db1
Commits on Aug 05, 2013
@cheald cheald Permit suppression of accessor methods via the :accessors option to #…
…key. Closes #535.
Commits on Aug 06, 2013
@cheald cheald Cast data with loaded from an embedded proxy, as embedded proxies may…
… receive their values from uncast sources. Closes #536
Commits on Aug 07, 2013
@cheald cheald Bump version for 0.13.0.beta2 9b87dee
Commits on Aug 09, 2013
@nigelramsay nigelramsay Use ruby 1.8 syntax for hashes 3803c17
Commits on Aug 12, 2013
@lucianosousa lucianosousa Update README.rdoc
fix travis-ci image url
@cheald cheald Merge pull request #540 from lucianosousa/patch-2
Update README.rdoc
@cheald cheald Merge pull request #538 from AbleTech/feature/fix_ruby_1.8.7_failures
Use ruby 1.8 syntax for hashes
Commits on Aug 20, 2013
@leifcr leifcr Add railtie rescue_responses (Issue #492) 41e688e
@leifcr leifcr Need action_dispatch railtie for rescue_responses b26e677
@leifcr leifcr Fix rescue responses for rails 3.0 and 3.1 cf44aaa
@cheald cheald Merge pull request #542 from leifcr/active_record_rescue_responses
Add active record rescue responses
@banyan banyan More accurate match, "system.*" is a reserved collection namespace d3c659b
@cheald cheald Merge pull request #543 from banyan/more-accurate-reserved-name
More accurate match, "system.*" is a reserved collection namespace
Commits on Sep 19, 2013
@KristineHines KristineHines Clarify that Rails 4 support is only in the beta, add example Gemfile…
… entry for beta
@jcaudle jcaudle Merge pull request #545 from KristineHines/patch-1
Clarify that Rails 4 support is only in the beta, add example Gemfile en...
Commits on Oct 08, 2013
@cheald cheald Add rubysl for rubinius support 5f3db3e
@cheald cheald Add rbx to travis 14a8edb
Commits on Oct 09, 2013
@cheald cheald Add transparent alias conversion during query/modifier usage 6167523
@cheald cheald Remove RBX 48c31ca
@cheald cheald Dealias :fields options as well 1eec9d2
Commits on Oct 10, 2013
@cheald cheald Add de-aliasing for ensure_index et al 1aec36e
@cheald cheald Spec typo fix a84e4a9
Commits on Nov 21, 2013
@rthbound rthbound Be more clear when specifying which version of JRuby mongo_mapper is …
…tested against

There is no version 1.9; this change should avoid confusion.
@cheald cheald Merge pull request #552 from rthbound/patch-1
There is no JRuby version 1.9; this change should avoid confusion
Commits on Dec 04, 2013
@rthbound rthbound Removes trailing whitespace and hard tabs dbd1c4e
@cheald cheald Merge pull request #555 from rthbound/removes_trailing_whitespace_and…

Removes trailing whitespace and hard tabs
@rthbound rthbound Adds quality spec
  - Runs with: rspec spec/quality_spec.rb
Commits on Dec 12, 2013
Tim Perkins Setting a key using send should return the new value
There seems to be an unnecessary line at the end of `internal_write_key`
that results in `send("#{key_name}=", value)` returning nil. This breaks
compatibility with 0.12.

The `@attributes` variable that is set to nil in the last line of
`internal_write_key` does not appear to be
referenced elsewhere.
@cheald cheald Test no longer breaks on JRuby 14dae37
@cheald cheald Merge branch 'fix-send-writer' of git://…
…mapper into tjwp-yesware-fix-send-writer

Fixes #557
@cheald cheald Rather than removing the @attributes nilling, which is needed for Act…
…iveModel compat, just return value
Commits on Dec 15, 2013
Thomas Dmytryk Added error message: can't mass assign protected attribute c20089c
Commits on Dec 20, 2013
@mgroeneman mgroeneman Proxy#send should work with blocks and procs e7a4e00
Commits on Jan 07, 2014
@joeljunstrom joeljunstrom Failing tests showing mutation of model state 73aa6a7
@joeljunstrom joeljunstrom Do not mutate model values using key with typecast
When setting an array key with the typecast option, the array members is currently
typecasted using `Array#map!`. Since `Key#set` can be called with a models ivar as
argument this will mutate the outer state on the model.

For example if we store an array with timestamps with another time zone
than utc we will get discrepancies when accessing the models data before
and after persisting it.
@cheald cheald Merge pull request #563 from Oktavilla/key-serialization-mutates-docu…

Key serialization mutates model state when using key Array with option typecast
Commits on Feb 05, 2014
@cheald cheald Only add the _type key to inherited classes when they have the same c…
…ollection as their parent. Classes with a different collection name don't need the SCI keys. Ref:!topic/mongomapper/2ZilWUrlGdw
@cheald cheald Merge branch 'master' of f7138fc
Commits on Feb 06, 2014
@cheald cheald More complete fix for the previous issue; remove the _type key when S…
…CI is turned off with set_collection_name. Add specs to cover it.
Commits on Mar 12, 2014
@leifcr leifcr Update travis to test on 2.1.1 54b2be3
Commits on Mar 16, 2014
Dima Samodurov Support inheriting OneAssociation. 1c17c07
Commits on Apr 16, 2014
@fcheung fcheung validatior#setup is deprecated in activemodel 4.1
instead class is passed to initialize
@cheald cheald Merge pull request #569 from fcheung/validator_setup_deprecated
validatior#setup is deprecated in activemodel 4.1
Commits on May 01, 2014
@cheald cheald Release 0.13.0 1af7f98
Commits on May 08, 2014
@leifcr leifcr Merge remote-tracking branch 'upstream/master' into ruby_2_1_1 66213e0
@leifcr leifcr Fixes autosupport loading. Rails issue 14664 64f9fc6
Commits on May 23, 2014
@smtlaissezfaire smtlaissezfaire write_attribute should return a type casted value 7bc7137
Commits on Jun 03, 2014
@cheald cheald Merge pull request #572 from leifcr/ruby_2_1_1
Fix autosupport loading issue (See rails issue 14664), and add test for ruby 2.1.1
@cheald cheald Merge pull request #574 from smtlaissezfaire/write_attribute_returns_…

write_attribute should return a type casted value
@cheald cheald Merge pull request #566 from DimaSamodurov/master
Support inheriting OneAssociation.
@cheald cheald Merge pull request #559 from mgroeneman/master
Proxy#send should work with blocks and procs
Commits on Jun 24, 2014
@bsoule bsoule fixes syntax error in rescue responses
syntax error in rescue response declarations for rails < 3.2 was
causing MongoMapper::DocumentNotFound exceptions to cause an exception
in WebBrick's exception handling in development.
@cheald cheald Merge pull request #579 from bsoule/not-found-error
fixes syntax error in rescue responses
Commits on Jul 23, 2014
@miyucy miyucy add to_mongo/from_mongo to Symbol fa49dc5
Commits on Aug 26, 2014
@sgnn7 sgnn7 Added ability to pull stats on a class
  Since going through the collection API is a bit awkward and the keys
  returned are camel-cased, this commit adds the ability to get these
  stats through ClassName.stats.snake_cased_field.
@sgnn7 sgnn7 Fixed be_true -> be_truthy deprecation warning in specs d6bc31e
@sgnn7 sgnn7 Fixed be_false -> be_falsey deprecation warning in specs
  Used the follwoing command to do this:
  $ grep -R be_false spec/ | awk -F: '{print $1}' | uniq | xargs sed -i 's/be_false/be_falsey/g'
@sgnn7 sgnn7 Fixed other rspec depprectations (its) b25f18d
Commits on Sep 26, 2014
@cheald cheald Add support for mongos/sharded flag in config 698666e
@cheald cheald Merge branch 'master' of ed85677
Commits on Oct 26, 2014
@smtlaissezfaire smtlaissezfaire Add counter caching. 639aa29
@smtlaissezfaire smtlaissezfaire counter caching: Add more conventional syntax: belongs_to :associatio…
…n, :counter_cache => true
Commits on Oct 27, 2014
Christian Murphy Fix remove_validations_for for AS 4.1
This is a slightly reworked version of the @fcheung's pull
request #584, using the same method across ActiveSupport
versions.  I added a definition for `set_callbacks`, which is
present in AS 4.1 but not in earlier versions.  This can be
discarded once older versions of AS are no longer supported.
Commits on Oct 28, 2014
Christian Murphy Fix remove_validations_for fix for AS 3.x/4.x 947e9b6
Commits on Nov 18, 2014
@cheald cheald Merge pull request #587 from cpmurphy/fixes/keys_active_support_4_1
Fix remove_validations_for for AS 4.1
@cheald cheald Merge pull request #583 from sgnn7/add_collection_stats
Add collection stats and cleanup deprecation warnings
@cheald cheald Merge pull request #556 from rthbound/adds_quality_spec
Adds quality spec
@cheald cheald Merge pull request #581 from miyucy/add-symbol-extension
add to_mongo/from_mongo to Symbol
@cheald cheald Merge pull request #558 from ThomasAlxDmy/explicit_error_message
Added error message: can't mass assign protected attribute. This should be deprecated for proper protected_attributes support down the road.
@cheald cheald Merge pull request #586 from smtlaissezfaire/counter_cache
Counter cache
@smtlaissezfaire smtlaissezfaire Add counter caching. e2fde6c
@smtlaissezfaire smtlaissezfaire counter caching: Add more conventional syntax: belongs_to :associatio…
…n, :counter_cache => true
@cheald cheald We don't support rspec 3 yet.
Revert "Fixed other rspec depprectations (its)"

This reverts commit b25f18d.

Revert "Fixed be_false -> be_falsey deprecation warning in specs"

This reverts commit 11a512a.

Revert "Fixed be_true -> be_truthy deprecation warning in specs"

This reverts commit d6bc31e.
@cheald cheald Remove trailing whitespace 518738b
@cheald cheald Merge branch 'master' of a89e9aa
@cheald cheald Lock rest-client to 1.6.7 to ensure installation on 1.8.7 d446a30
@cheald cheald Bump to 0.13.1 410d6dc
Commits on Nov 19, 2014
@cheald cheald [skip ci] update the readme d219f70
@smtlaissezfaire smtlaissezfaire Add changelog entries for 0.13.1, 0.13.0 a6c9816
@smtlaissezfaire smtlaissezfaire Rename Gemfile.common => Gemfile.common.rb 7a66403
@smtlaissezfaire smtlaissezfaire upgrade rspec to 2.99 to get deprecation warnings for rspec 3 5188c66
@smtlaissezfaire smtlaissezfaire upgrade to rspec 3.0
rspec: convert mock expectations into new syntax to avoid deprecation warnings

fix rspec deprecation warning: failure_message

upgrade to rspec 3.1.0

maybe fix spec failures on linux
@smtlaissezfaire smtlaissezfaire Revert "We don't support rspec 3 yet."
This reverts commit ac9937d.
@smtlaissezfaire smtlaissezfaire [skip ci] Update the changelog b418a39
Commits on Nov 24, 2014
@smtlaissezfaire smtlaissezfaire add after_find, after_initialize callbacks cc20a74
@smtlaissezfaire smtlaissezfaire Only partially update objects (using $set and $unset) when updates oc…

Note: this does not use ActiveModel::Dirty as ActiveModel::Dirty doesn't find in place changes (such as appending to an array or calling gsub! on a string).

Partial Updates can be turned on or off per class (by default they are off):

  class Person
    include MongoMapper::Document
    self.partial_updates = false
Commits on Dec 18, 2014
@cheald cheald Disallow class as a key name 2476f8b
@cheald cheald Don't create accessors for reserved keys (id, class, etc) 0661d78
Commits on Jan 08, 2015
@dpoineau dpoineau Fixing failing tests for rails 4 0f10b32
Commits on Jan 12, 2015
@dpoineau dpoineau Adding ruby 1.8.7 specific gem files to use specific version of i18n 8692c8e
Commits on Feb 04, 2015
@cheald cheald Merge pull request #601 from dpoineau/fixing-failing-tests-all
Fixing all currently failing tests
@cheald cheald Merge pull request #589 from smtlaissezfaire/partial_updates
Only partially update objects (using $set and $unset) when updates occur...
@dpoineau dpoineau Allowing with_cast to be passed to identity_map.load 66e90a6
@cheald cheald Merge pull request #597 from dpoineau/allow-with-cast-for-identity-ma…

Allowing with_cast to be passed to identity_map.load
Commits on Feb 11, 2015
@smtlaissezfaire smtlaissezfaire Fix counter caching with polymorphic belongs_to. (Thanks @bhernez). C…
…loses #602.
@smtlaissezfaire smtlaissezfaire Add option to allow static only keys (mimic Mongoid's allow_dynamic_f…
…ields = false). Closes #476.
@smtlaissezfaire smtlaissezfaire changelog updates e0f43db
@smtlaissezfaire smtlaissezfaire Don't use alias_method (instead just use proxy methods) for Keys#[]
and Keys#attribute (this way plugins that override read_key don't
also have to override those methods)
Commits on Jun 01, 2015
@cheald cheald #timestamps! callback should return true; fixes Ruby 2.2 warnings 2820274
Commits on Jan 15, 2016
@smtlaissezfaire smtlaissezfaire fix repo url in readme f178a54
Commits on Jan 17, 2016
@smtlaissezfaire smtlaissezfaire fix a typo 865658e
@smtlaissezfaire smtlaissezfaire remove spec check against Doc.stats.system_flags (it's been removed i…
…n newer versions of mongo)
@smtlaissezfaire smtlaissezfaire minor: outdent / unify private + protected indentation c21b262
@smtlaissezfaire smtlaissezfaire method_missing should always be private 85b1c72
Commits on Jan 18, 2016
@smtlaissezfaire smtlaissezfaire Add ruby-debug to the dev bundle 0d3611c
@smtlaissezfaire smtlaissezfaire minor (indentation) 20f256e
@smtlaissezfaire smtlaissezfaire * Scoping enhancements: Add default_scopes and with_scope { ... }
* bug fix: methods on a class weren't being called in context of their caller when called through an association proxy.  Consider the following:

    class User
      has_many :posts

    class Posts
      belongs_to :user
      validates_presence_of :user
      validates_presence_of :slug
      validates_uniqueness_of :slug, scope: [:user_id]

      def find_by_slug!(slug)
        obj = first(:slug => slug) ? obj : raise "missing slug"

  @user.posts.find_by_slug!(slug) wasn't scoping by the user!
@smtlaissezfaire smtlaissezfaire ignore textmate project files f4cd338
Commits on Jan 30, 2016
@smtlaissezfaire smtlaissezfaire bug fix for partial updates: make sure values set in callbacks (speci…
…fically, before_update) are properly stored in the db when partial updates are on
Commits on Feb 03, 2016
@smtlaissezfaire smtlaissezfaire comment out ruby-debug for now ec34810
@smtlaissezfaire smtlaissezfaire Add test to check typecasting on partially updated models a2aca4d
@smtlaissezfaire smtlaissezfaire minor refactoring c9407c9
@smtlaissezfaire smtlaissezfaire bug fix: make sure that scopes get applied onto DecoratedPluckyQuery,…
… not just on has many proxies
@smtlaissezfaire smtlaissezfaire Add spec (and fix bug introduced in 377754d) regarding merging Plucky…
…::Queries in DecoratedPluckyQuery's method_missing