All Versions
Latest Version
Avg Release Cycle
62 days
Latest Release
3007 days ago

Changelog History
Page 1

  • v1.0.1 Changes

    January 04, 2015
    • πŸ›  Fix bug that broke saving associated objects when declaring the id attribute with Virtus.
  • v1.0.0 Changes

    August 16, 2014
    • Invoke identity map when using and mapper.find with a block.
    • When finding objects with an array of ids, if they are all contained in the identity map, we don't issue a query.
    • πŸ‘ Allow indexes on multiple attributes.
    • βž• Add support to Perpetuity::RailsModel for ActiveModel's human class method.
  • v1.0.0.beta5 Changes

    February 02, 2014
    • 🐎 Don't stringify ids in IdentityMap. This should result in a little better performance. To be honest, I'm not even sure anymore why I put that in there.
    • πŸ‘‰ Use the IdentityMap when retrieving multiple objects by id.
  • v1.0.0.beta4 Changes

    • βœ‚ Remove in-memory updating of objects using the Mapper#update method.
    • Separate dirty tracking from IdentityMap and return to a real Identity Map.
    • Pass IdentityMap around when loading associations
    • βž• Add Perpetuity.register_adapter method to allow various data-source adapters to register without Perpetuity knowing about them.
  • v1.0.0.beta3 Changes

    January 03, 2014
    • πŸ›  Fix title-case -> snake-case support to convert something like UserRegistration to user_registration. Previously, it would return userregistration.
  • v1.0.0.beta2 Changes

    December 30, 2013
    • Allow data source to be configured with a URI. This lets you say Perpetuity.data_source "postgres://user:[email protected]:5432/my_database", keeping you from having to split up the URI yourself.
    • βœ‚ Remove overreaching rescue clauses to let exceptions get rescued inside the adapters
    • πŸ‘ Allow AttributeSet to be initialized w/ attributes
    • βœ‚ Remove Mongo-specific code
  • v1.0.0.beta Changes

    December 15, 2013
    • Duplicate objects properly for the identity map. The identity map holds references to objects pulled out of the DB. We need to duplicate these references on insertion and retrieval from the identity map to make sure that modifications to an object do not pollute the version in the identity map.
    • βž• Add support for the Amazon DynamoDB adapter by Cardspring. This adapter is still in very early development.
    • πŸ‘ Allow passing in the type of the id attribute for databases that enforce column/field types. This allows us to say id(String) { ... }, telling the database that id needs to be a String.
    • πŸ‘‰ Use hashes for AttributeSets to reduce serialization time.
    • 🚚 Extract all database-specific logic to their own gems. The existing MongoDB adapter has been moved to the perpetuity-mongodb gem and there is a PostgreSQL adapter that lives under perpetuity-postgres.
    • πŸ‘ Allow specs to be run on top of perpetuity-postgres
    • βœ‚ Remove validations.
  • v0.7.3 Changes

    September 16, 2013
    • Only save attributes which have changed
  • v0.7.2 Changes

    August 04, 2013
    • βž• Add license to gemspec for the benefit of
  • v0.7.1 Changes

    August 04, 2013
    • πŸ‘· Only unmarshal attributes that we marshaled to begin with. This disallows the use of false marshaled objects. β€” with Kevin SjΓΆberg
    • πŸ‘ Allow insertion of multiple objects in Mapper#insert
    • Alias Retrieval#limit as Retrieval#take for Enumerable compatibility
    • Leave result cache when branching to new retrievals if previous retrieval had triggered a query
    • ⚠ Silence warnings (some still exist in Moped, unfortunately)
    • βž• Add finding based on attribute truthiness. For example: mapper.find { |obj| } finds objects whose name is neither nil nor false.
    • 🚚 When you remove an index call from the mapper DSL, Mapper#reindex! now removes that index from the DB
    • Previously activated indexes in the DB are converted to Perpetuity::Attributes rather than stored in the format specific to the DB driver