/pmemkv-ruby

Ruby bindings for pmemkv

Primary LanguageRubyBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

pmemkv-ruby

Ruby bindings for pmemkv

The current API is simplified and not functionally equal to its native C/C++ counterpart. In the future existing API may be extended in idiomatic way without preserving backward compatibility. All known issues and limitations are logged as GitHub issues.

Dependencies

  • Ruby 2.2 or higher
  • PMDK - native persistent memory libraries
  • pmemkv - native key/value library
  • ffi - for native library integration
  • Used only for testing:

Installation

Start by installing pmemkv on your system.

Install Bundler:

gem install bundler -v '< 2.0'

Clone the pmemkv-ruby tree:

git clone https://github.com/pmem/pmemkv-ruby.git
cd pmemkv-ruby

Download and install gems:

bundle install

Testing

This library includes a set of automated tests that exercise all functionality.

LD_LIBRARY_PATH=path_to_your_libs bundle exec rspec

Example

We are using /dev/shm to emulate persistent memory in example.

Example can be found within this repository in examples directory. To execute the example:

PMEM_IS_PMEM_FORCE=1 ruby basic_example.rb