Skip to content
/ handle Public
forked from mbklein/handle

Classes and methods for dealing with Handle System servers and handles.

License

Notifications You must be signed in to change notification settings

lupulin/handle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Handle Build Status

Classes and methods for dealing with Handle System servers and handles.

Platform Notes

Handle::Connection and Handle::Persistence have two implementations each – one for JRuby, and one for everything else. Under JRuby, it calls Java HSAdapter methods directly. Under MRI or other non-JVM rubies, it shells out to command line tools (particularly hdl-qresolver and hdl-genericbatch) behind the scenes to do its work.

Installation

Add this line to your application's Gemfile:

gem 'handle-system'

And then execute:

$ bundle

Or install it yourself as:

$ gem install handle-system

Usage

require 'handle'

# Set up an authenticated connection
conn = Handle::Connection.new('0.NA/admin.handle', 300, 
  '/path/to/private/key/file', 'privkey-passphrase')

# Create an empty record
record = conn.create_record('handle.prefix/new.handle')

# Two ways to add fields
record.add(:URL, 'http://example.edu/').index = 2
record.add(:Email, 'someone@example.edu').index = 6
record << Handle::Field::HSAdmin.new('0.NA/admin.handle')

# Manipulate permissions
record.last.perms.public_read = false

record.save

record = conn.resolve_handle('handle.prefix/new.handle')

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

History

  • v0.1.1 - Fix error handling (h/t jcoyne)
  • v0.1.0 - First stable release

About

Classes and methods for dealing with Handle System servers and handles.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%