Skip to content

ruby/gdbm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2c941a7 · Sep 11, 2024
Sep 11, 2024
Apr 24, 2017
Oct 18, 2019
Mar 4, 2024
Apr 24, 2017
Mar 4, 2024
Jan 4, 2022
Nov 30, 2019
Mar 4, 2024
Jan 4, 2022

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.

Installation

Add this line to your application's Gemfile:

gem 'gdbm'

And then execute:

$ bundle

Or install it yourself as:

$ gem install 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.