0.0
No commit activity in last 3 years
No release in over 3 years
This gem can be used as a wrapper for REST API calls for Ex Libris Alma. For examples and more details see the Gem homepage.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 1.8, >= 1.8.0
~> 2.0, >= 2.0.0
 Project Readme

Alma REST API Ruby Library

This library provides wrapper functions to call the Alma REST API.

Installation

gem install alma_rest_api or in Gemfile gem 'alma_rest_api'

Configuration

alma_rest_api_init.rb in config/initializers

AlmaRestApi.configure do |config|
  config.api_key = "l7xx..."
  config.api_path = "https://api-eu.hosted.exlibrisgroup.com/almaws/v1"
  config.format = :"application/xml"
end

OR via environment variables:

Usage

irb

$ irb
irb(main):001:0> require 'alma_rest_api'
=> true
irb(main):002:0> AlmaRestApi.configuration.api_key="l7xx......"
=> "l7xx......"
irb(main):003:0> AlmaRestApi.get "/users/joshw?view=brief"
=> {"record_type"=>{"value"=>"PUBLIC", "desc"=>"Public"}, "primary_id"=>"joshw", "first_name"=>"Josh", ... }

Rails

controller

require 'alma_rest_api'
  def show
    item = AlmaRestApi.get "/items?item_barcode=#{params[:id]}"
    respond_to do |format|
      format.json { render json: item }
    end
  end

  def update
    begin
      item = AlmaRestApi.put params[:link], params.slice(:item_data)
      render json: item
    rescue => e
      render json: { "error" => e.message }, :status => :bad_request
    end
  end  

XML Usage

XML is the preferable format for APIs which work with MARCXML. The library supports working with XML using the Nokogiri library. For example, a BIB record can be retrieved and updated as follows:

AlmaRestApi.configuration.format = :'application/xml'
bib = AlmaRestApi.get '/bibs/991395470000541'
if title = bib.at("/bib/record/datafield[@tag='245']/subfield[@code='a']")
  title.content = "My new title"
  AlmaRestApi.put '/bibs/991395470000541', bib
end