Permalink
Commits on Apr 9, 2010
  1. Typo in README

    committed Apr 9, 2010
Commits on Jan 5, 2010
  1. Bump to version 0.0.2

    committed Jan 5, 2010
Commits on Jan 3, 2010
  1. Alter file reference

    committed Jan 1, 2010
  2. Initial gemspec file

    committed Dec 28, 2009
  3. Ensure aliased reload method returns correctly

    Aliased reload method was calling original implementation first and was returning nil.
    committed Jan 3, 2010
  4. Add TODOs

    committed Jan 3, 2010
  5. Remove superfluous stubbing of Time.now

    A lot of methods stubbed Time.now when they didn't need to as the create_pirate method does this for them.
    committed Jan 3, 2010
  6. Updating tracked attributes updates timestamp

    When saving changes to tracked attributes the point in time the parent is set to is now equal to the start time of the new dated detail record. Previously it was left unchanged.
    committed Jan 3, 2010
  7. Cope with reloading parent instances

    If a parent record has two instances and one is updated then reloading the other should:
     * reset the dated detail to the latest when tracking the latest history
     * do nothing when not tracking the latest history
    committed Jan 3, 2010
  8. Add current? and current! methods

    Parent instances can now either point at a certain point in time or track the current time (and detail).
    
    The current? method determines which of these states the instance is in.
    
    The current! method forces the instance to track the current time and resets the detail to the current detail should it be pointing at a previous one.
    
    The on= method now forces the instance to point at a certain point in time (and still resets the detail to the detail at that point in time should it be pointing at another one).
    committed Jan 3, 2010
Commits on Jan 2, 2010
  1. Update tracked columns on parent as well as dated detail

    Updating the columns on the parent ensures that all ActiveRecord functionality (e.g. dirty attribute tracking) works as expected. It will also allow us in future to use the values on the parent as the values effective as of the current time.
    committed Jan 2, 2010
  2. Remove duplication from tests

    No need to create pirates manually in tests when a method exists to do so.
    committed Jan 2, 2010
  3. Add requirement for tracked attributes to exist in parent table

    Updating multi-parameter attributes (e.g. dates on a form) currently doesn't work without the tracked attributes also existing on the parent table (see TODO). These columns should never get updated however as the getters and setters are overridden.
    committed Jan 2, 2010
Commits on Jan 1, 2010
  1. Add tests for updating in various ways

    Alter test fixtures to include tracked integer, string and datetime datatypes.
    
    Also add a column which can later be used to test belongs to associations but this isn't intended to be working yet.
    
    These changes were necessary as currently updating fails when multiparameter attributes (e.g. datetime columns) are updated. This is due to the parent column not having the column in its table and ActiveRecord relying on this fact to perform the update.
    committed Jan 1, 2010
Commits on Dec 31, 2009
  1. Use standard foreign key column name instead of parent_id

    Rather than using parent_id on the dated detail model to refer to the parent model use the conventional column name (e.g. super_hero_id)
    committed Dec 31, 2009
Commits on Dec 30, 2009
  1. Dated detail now based on currently effective timestamp

    Added named scope to dated detail to return the record effective at a given timestamp.
    
    Altered dated_detail method to return detail effective at the time returned by the on method.
    committed Dec 27, 2009
  2. Add getting and setting of currently effective timestamp

    The point in time at which the parent object fetches its details can now be set and retrieved.
    committed Dec 30, 2009
Commits on Dec 28, 2009
  1. Alter README to rdoc format

    committed Dec 28, 2009
  2. Add license

    committed Dec 28, 2009
  3. Dated detail sets starts and ends correctly on update

    When the parent is saved and changes have been made to tracked attributes the old and new dated detail record's timestamps are correctly updated such that one follows the other.
    committed Dec 28, 2009
Commits on Dec 27, 2009
  1. Detail record created on saving tracked attribute changes

    A new detail record is now created whenever changes to tracked attributes are saved in addition to initial creation of parent record
    committed Dec 27, 2009
  2. Add dated_detail method

    The dated_detail method will eventually contain the currently relevant record from the dated_details association. Currently it just returns the first record to allow other details of the implementation to be progressed.
    committed Dec 27, 2009
  3. Initial import

    committed Dec 27, 2009