README.md in traka-0.0.2 vs README.md in traka-0.0.3

- old
+ new

@@ -15,10 +15,11 @@ ## Install ``` gem install traka rails g traka:install + rake db:migrate ``` ## Setup Add the following to each model you want to keep track of: @@ -36,51 +37,51 @@ ## Use To access the current set of staged changes: ```ruby - TrakaChange.staged_changes #=> [traka_change_record, ...] + Traka::Change.staged_changes #=> [traka_change_record, ...] ``` -Each TrakaChange record can be resolved to the original record (except "destroy"): +Each Traka::Change record can be resolved to the original record (except "destroy"): ```ruby - TrakaChange.staged_changes.first.get_record #=> record + Traka::Change.staged_changes.first.get_record #=> record ``` To fetch a changeset across multiple versions. Assuming current version is 5, to get changes from v2 onwards: ```ruby - TrakaChange.changes_from(2) #=> [traka_change_record, ...] + Traka::Change.changes_from(2) #=> [traka_change_record, ...] ``` Or just get changes from v2 to v4: ```ruby - TrakaChange.changes_in_range(2, 4) #=> [traka_change_record, ...] + Traka::Change.changes_in_range(2, 4) #=> [traka_change_record, ...] ``` The above methods will automatically cleanse obsolete changes. To see everything: ```ruby - TrakaChange.staged_changes(false) #=> [traka_change_record, ...] - TrakaChange.changes_from(2, false) #=> [traka_change_record, ...] - TrakaChange.changes_in_range(2, 4, false) #=> [traka_change_record, ...] + Traka::Change.staged_changes(false) #=> [traka_change_record, ...] + Traka::Change.changes_from(2, false) #=> [traka_change_record, ...] + Traka::Change.changes_in_range(2, 4, false) #=> [traka_change_record, ...] ``` To see the current version: ```ruby - TrakaChange.latest_version + Traka::Change.latest_version ``` To publish a new version: ```ruby - TrakaChange.latest_version #=> 1 - TrakaChange.publish_new_version! - TrakaChange.latest_version #=> 2 + Traka::Change.latest_version #=> 1 + Traka::Change.publish_new_version! + Traka::Change.latest_version #=> 2 ``` ## Example Assuming models called Product and Car exist. @@ -88,37 +89,37 @@ ```ruby a = Product.create(:name => "Product 1") b = Product.create(:name => "Product 2") c = Car.create(:name => "Car 1") - TrakaChange.latest_version #=> 1 - TrakaChange.staged_changes #=> [TrakaChange<create>, TrakaChange<create>, TrakaChange<create>] + Traka::Change.latest_version #=> 1 + Traka::Change.staged_changes #=> [Traka::Change<create>, Traka::Change<create>, Traka::Change<create>] b.name = "New name" b.save # The "update" above is filtered out because we already know to fetch "b" because it's just been created. - TrakaChange.staged_changes #=> [TrakaChange<create>, TrakaChange<create>, TrakaChange<create>] + Traka::Change.staged_changes #=> [Traka::Change<create>, Traka::Change<create>, Traka::Change<create>] - TrakaChange.publish_new_version! + Traka::Change.publish_new_version! - TrakaChange.latest_version #=> 2 + Traka::Change.latest_version #=> 2 b.destroy a.name = "New name" a.save - TrakaChange.staged_changes #=> [TrakaChange<destroy>, TrakaChange<update>] - TrakaChange.staged_changes.last.get_record #=> a + Traka::Change.staged_changes #=> [Traka::Change<destroy>, Traka::Change<update>] + Traka::Change.staged_changes.last.get_record #=> a a.name = "Another name" a.save # The second update above is filtered because we already know "a" has been updated in this changeset. - TrakaChange.staged_changes #=> [TrakaChange<destroy>, TrakaChange<update>] - TrakaChange.staged_changes.last.get_record #=> a + Traka::Change.staged_changes #=> [Traka::Change<destroy>, Traka::Change<update>] + Traka::Change.staged_changes.last.get_record #=> a # All interactions with "b" are filtered out because we've created and destroyed it in the same changeset: v1+v2. - TrakaChange.changes_from(1) #=> [TrakaChange<create>, TrakaChange<create>, TrakaChange<update>] + Traka::Change.changes_from(1) #=> [Traka::Change<create>, Traka::Change<create>, Traka::Change<update>] ``` See the unit tests for a bunch more examples.