Skip to content

TalentBox/sequel_bitemporal

Repository files navigation

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 show 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

Thanks to Denis Kalesnikov (@DenisKem) for his contributions:

  • add support for composite primary key #8

Thanks to Olle Jonsson (@olleolleolle) for his contributions:

  • update specs to work with RSpec: config.disable_monkey_patching! #10
  • update TravisCI matrix to include more Ruby versions #11
  • README improvements #9 #12

License

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

About

Bitemporal versioning for sequel.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages