koha 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Koha [![Build Status](https://travis-ci.org/cfitz/koha.png?branch=master)](https://travis-ci.org/cfitz/koha) [![Code Climate](https://codeclimate.com/github/cfitz/koha.png)](https://codeclimate.com/github/cfitz/koha)
1
+ # Koha [![Build Status](https://travis-ci.org/cfitz/koha.rb.png?branch=master)](https://travis-ci.org/cfitz/koha.rb) [![Code Climate](https://codeclimate.com/github/cfitz/koha.rb.png)](https://codeclimate.com/github/cfitz/koha.rb)
2
2
 
3
3
  A simple ruby wrapper for the Koha ILS RESTFUL API.
4
4
 
@@ -12,8 +12,9 @@ module Koha
12
12
  class << self
13
13
  def version; VERSION end
14
14
 
15
- def connect *args
15
+ def connect url = 'http://localhost/cgi-bin/koha/rest.pl/', *args
16
16
  opts = Hash === args[-1] ? args[-1] : {}
17
+ opts[:url] = url
17
18
  Client.new Koha::Connection.new, opts
18
19
  end
19
20
  end
@@ -13,6 +13,12 @@ module Koha::Biblio
13
13
  JSON.parse(get "biblio/#{biblionumber}/items", opts)
14
14
  end
15
15
 
16
+ # this just finds the items based on a biblionumber
17
+ def find_items(opts = {})
18
+ opts[:params] ||= {}
19
+ opts[:params][:biblionumbers] = opts[:biblionumbers].join(",") if opts[:biblionumbers]
20
+ JSON.parse(get"items", opts)
21
+ end
16
22
 
17
23
  # wrapper to check if a biblio is holdable
18
24
  # take a koha biblio number and standard client opts
@@ -29,7 +29,7 @@ class Koha::Client
29
29
  end
30
30
 
31
31
  # Create the get, post, and head methods
32
- %W(get post put delete).each do |meth|
32
+ %W(get post put delete head).each do |meth|
33
33
  class_eval <<-RUBY
34
34
  def #{meth} path, opts = {}, &block
35
35
  send_request path, opts.merge(:method => :#{meth}), &block
@@ -1,5 +1,5 @@
1
1
  module Koha
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  CHANGELOG =<<-END
4
4
  IMPORTANT CHANGES LATELY:
5
5
  END
@@ -146,6 +146,13 @@ describe "Koha::Client" do
146
146
  client.biblio_holdable?("1").should be_true
147
147
  WebMock.should have_requested(:get, "http://localhost/koha/biblio/1/holdable")
148
148
  end
149
+
150
+ it "should find the items for #find_items" do
151
+ stub_request(:get, "http://localhost/koha/items?biblionumbers=1,666,23").to_return(:status => 200, :body =>
152
+ "{\"1\":{\"fakeitemnumber\":{\"fake\":\"itemdata\"}},\"666\":{\"fakeitemnumber\":{\"fake\":\"itemdata\"}},\"23\":{\"fakeitemnumber\":{\"fake\":\"itemdata\"}}}" )
153
+ client.find_items(:biblionumbers => [1,666,23]).should be_true
154
+ WebMock.should have_requested(:get, "http://localhost/koha/items?biblionumbers=1,666,23")
155
+ end
149
156
 
150
157
  # show how to use a borrowername
151
158
  it "should call the biblio holdable items for #biblio_items_holdable?" do
@@ -1,5 +1,4 @@
1
1
  require File.expand_path('../../lib/koha', __FILE__)
2
- #require File.expand_path('../../lib/koha/lib', __FILE__)
3
2
 
4
3
  require 'webmock/rspec'
5
4
  if ENV["COVERAGE"] == 'yes'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: koha
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-06 00:00:00.000000000 Z
12
+ date: 2013-05-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: simplecov
@@ -167,7 +167,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
167
  version: '0'
168
168
  segments:
169
169
  - 0
170
- hash: -1026450662887779631
170
+ hash: 3995804532362947245
171
171
  required_rubygems_version: !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
@@ -176,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
176
  version: '0'
177
177
  segments:
178
178
  - 0
179
- hash: -1026450662887779631
179
+ hash: 3995804532362947245
180
180
  requirements: []
181
181
  rubyforge_project:
182
182
  rubygems_version: 1.8.25