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

Changelog History
Page 1

  • v1.0.1

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

    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

    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

    • βœ‚ 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

    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

    December 30, 2013
    • Allow data source to be configured with a URI. This lets you say Perpetuity.data_source "postgres://", 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

    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

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

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

    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