Bitemporal versioning for sequel.
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ci
lib
spec
.gitignore
.rspec
.ruby-version
.travis.yml
Gemfile
LICENSE
README.md
Rakefile
sequel_bitemporal.gemspec

README.md

sequel_bitemporal

Build Status

Bitemporal versioning for sequel.

Dependencies

  • Ruby >= 1.9.2
  • gem "sequel", "~> 3.30.0"

Usage

  • Declare bitemporality inside your model:

      class HotelPriceVersion < Sequel::Model
      end
    
      class HotelPrice < Sequel::Model
        plugin :bitemporal, version_class: HotelPriceVersion
      end
    
  • You can now create a hotel price with bitemporal versions:

      price = HotelPrice.new
      price.update_attributes price: 18
    
  • To show all versions:

      price.versions
    
  • To get current version:

      price.current_version
    
  • Look at the specs for more usage patterns.

Thanks

Thanks to Evgeniy L (@fiscal-cliff) for his contributions:

  • skip plugin initialization process if versions table does not exist

Thanks to Ksenia Zalesnaya (@ksenia-zalesnaya) for her contributions:

  • define setter methods for versioned columns

License

sequel_bitemporal is Copyright © 2011 TalentBox SA. It is free software, and may be redistributed under the terms specified in the LICENSE file.