Skip to content

ruby/gdbm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GDBM

GNU dbm is a library for simple databases. A database is a file that stores key-value pairs. Gdbm allows the user to store, retrieve, and delete data by key. It furthermore allows a non-sorted traversal of all key-value pairs. A gdbm database thus provides the same functionality as a hash. As with objects of the Hash class, elements can be accessed with []. Furthermore, GDBM mixes in the Enumerable module, thus providing convenient methods such as #find, #collect, #map, etc.

A process is allowed to open several different databases at the same time. A process can open a database as a "reader" or a "writer". Whereas a reader has only read-access to the database, a writer has read- and write-access. A database can be accessed either by any number of readers or by exactly one writer at the same time.

Installing the required libraries.

On Debian/Ubuntu

sudo apt install libgdbm-dev

On Redhat/Fedora

sudo dnf install gdbm-devel

or if you are using an older version of Redhat or Fedora that uses Yum:

sudo yum install gdbm-devel

On macOS

If you are using Homebrew, you can install gdbm with the following command:

brew install gdbm

or if you are using MacPorts, you can install gdbm with:

sudo port install gdbm

Installation

Add this line to your application's Gemfile:

gem 'gdbm'

And then execute:

$ bundle

Or install it yourself as:

$ gem install gdbm

Install on macOS with gdbm path.

gem install gdbm -- --with-gdbm-dir=$(brew --prefix gdbm)

Usage

  1. Opening/creating a database, and filling it with some entries: require 'gdbm'
gdbm = GDBM.new("fruitstore.db")
gdbm["ananas"]    = "3"
gdbm["banana"]    = "8"
gdbm["cranberry"] = "4909"
gdbm.close
  1. Reading out a database:
require 'gdbm'

gdbm = GDBM.new("fruitstore.db")
gdbm.each_pair do |key, value|
  print "#{key}: #{value}\n"
end
gdbm.close

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/gdbm.

License

The gem is available as open source under the terms of the 2-Clause BSD License.

About

Ruby extension for GNU dbm.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 17