Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby Library and Command Line tools for BagIt
Ruby Perl
Branch: master
Failed to load latest commit information.
bin version up and use new version style in bin
lib version up to 0.3.2
spec Revert "test for adding a data file manually and remanifesting"
.gitignore First stab at reformatting this gem a bit.
.rvmrc add rvm, travis config, and change version to pre
.travis.yml
Gemfile First stab at reformatting this gem a bit.
LICENSE.txt usual stuff
README.md update readme with better comments for console tools
Rakefile forgot to uncomment this
bagit.gemspec

README.md

BagIt (for ruby)

Build Status

Based on the BagItspec v0.97.

Supported Features:

  • bag compiling
  • manifest & tagmanifest generation
  • generation of tag files bag-info.txt and bagit.txt
  • fetching remote files (fetch.txt)
  • bag validation

Installation

% gem install bagit validatable

The rubyforge gem is deprecated.

Example: making a bag

require 'bagit'

# make a new bag at base_path
bag = BagIt::Bag.new base_path

# make a new file
bag.add_file("samplefile") do |io|
  io.puts "Hello Bag!"
end

# generate the manifest and tagmanifest files
bag.manifest!

Example: validating an existing bag

bag = BagIt::Bag.new existing_base_path

if bag.valid?
  puts "#{existing_base_path} is valid"
else
  puts "#{existing_base_path} is not valid"
end

Console Tool

# create a new bag/add files to existing bag
bagit add -f file1 file2 -t tagfile1 tagfile2 ./path/to/bag 
# validate
bagit validate ./path/to/bag
# for other commands
bagit --help

TODO

  • deep directory add/delete for bag and tag files in console tools
  • better holy bag (fetch.txt) generation
  • better error reporting.

Copyright © 2009, Francesco Lazzarino.

Current maintainer: Tom Johnson.

Initial development sponsored by Florida Center for Library Automation.

See LICENSE.txt for terms.

Something went wrong with that request. Please try again.