djatoka 0.0.5 → 0.0.6

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.
@@ -10,19 +10,22 @@ used by Djatoka.
10
10
 
11
11
  gem install djatoka
12
12
 
13
+ If you wish to use the curb gem instead of Net::HTTP, install it:
14
+ gem install curb
15
+
13
16
  == Example usage
14
17
  # Create a resolver object with a URL.
15
18
  resolver = Djatoka::Resolver.new('http://african.lanl.gov/adore-djatoka/resolver')
16
-
19
+
17
20
  # A known good identifier
18
21
  identifier = 'info:lanl-repo/ds/5aa182c2-c092-4596-af6e-e95d2e263de3'
19
-
22
+
20
23
  # Ping the server to see if that resource exists.
21
24
  resolver.ping(identifier)
22
25
  # => <Mash identifier="info:lanl-repo/ds/5aa182c2-c092-4596-af6e-e95d2e263de3" status="OK">
23
26
  resolver.ping('foobar')
24
27
  # => nil
25
-
28
+
26
29
  # Create a Djatoka::Metadata object and perform the request to the server for metadata.
27
30
  metadata = resolver.metadata(identifier).perform
28
31
  metadata.levels
@@ -78,17 +81,24 @@ at the same site (domain and port) as your application. The scripts also expect
78
81
  the resolver to remain at /adore-djatoka/resolver so maintain that path if you
79
82
  proxy Djatoka or dig into the javascript to change the path.
80
83
 
84
+ == Ruby versions
85
+
86
+ Tested with the following Ruby versions:
87
+ - 1.8.7-p249
88
+ - 1.8.7-p302
89
+ - 1.9.2-p0
90
+
81
91
  == Commandline
82
92
 
83
93
  There is also a little commandline utility for outputting the OpenURL.
84
94
 
85
- $ djatoka_url --resolver http://african.lanl.gov/adore-djatoka/resolver --rft-id info:lanl-repo/ds/5aa182c2-c092-4596-af6e-e95d2e263de3 --scale 300 --square
95
+ $ djatoka_url --resolver http://african.lanl.gov/adore-djatoka/resolver --rftid info:lanl-repo/ds/5aa182c2-c092-4596-af6e-e95d2e263de3 --scale 300 --square
86
96
  {"region"=>"0,874,421,421", "scale"=>"300", "level"=>"3"}
87
97
  http://african.lanl.gov/adore-djatoka/resolver?svc.level=3&url_ver=Z39.88-2004&svc.region=0%2C874%2C421%2C421&svc.scale=300&rft_id=info%3Alanl-repo%2Fds%2F5aa182c2-c092-4596-af6e-e95d2e263de3&svc_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajpeg2000&svc_id=info%3Alanl-repo%2Fsvc%2FgetRegion
88
-
89
- $ djatoka_url --resolver http://african.lanl.gov/adore-djatoka/resolver --rft-id info:lanl-repo/ds/5aa182c2-c092-4596-af6e-e95d2e263de3 --smallbox --browser chromium-browser
90
-
91
- $ djatoka_url --help
98
+
99
+ $ djatoka_url --resolver http://african.lanl.gov/adore-djatoka/resolver --rftid info:lanl-repo/ds/5aa182c2-c092-4596-af6e-e95d2e263de3 --smallbox --browser chromium-browser
100
+
101
+ $ djatoka_url --help
92
102
 
93
103
 
94
104
  == TODO
data/Rakefile CHANGED
@@ -11,9 +11,10 @@ begin
11
11
  gem.homepage = "http://github.com/jronallo/djatoka"
12
12
  gem.authors = ["Jason Ronallo"]
13
13
  gem.add_development_dependency "shoulda", ">= 0"
14
- gem.add_development_dependency "ruby-debug", ">= 0"
14
+ #gem.add_development_dependency "ruby-debug", ">= 0"
15
+ gem.add_development_dependency "hanna", ">= 0"
15
16
  gem.add_dependency "addressable", "2.1.2"
16
- #gem.add_dependency "curb", ">= 0"
17
+ gem.add_development_dependency "curb", ">= 0"
17
18
  gem.add_dependency "json", ">= 0"
18
19
  gem.add_dependency 'trollop', '>= 0'
19
20
  gem.add_dependency 'hashie', '>= 0'
@@ -49,8 +50,11 @@ task :test => :check_dependencies
49
50
 
50
51
  task :default => :test
51
52
 
52
- #require 'rake/rdoctask'
53
- require 'hanna/rdoctask'
53
+ begin
54
+ require 'hanna/rdoctask'
55
+ rescue LoadError
56
+ require 'rake/rdoctask'
57
+ end
54
58
  Rake::RDocTask.new do |rdoc|
55
59
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
56
60
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -10,12 +10,12 @@ This script take a Djatoka resolver base URL and returns a full URI for a partic
10
10
  identifier.
11
11
 
12
12
  Usage:
13
- djatoka_url [options] --resolver http://african.lanl.gov/adore-djatoka/resolver --rft_id info:lanl-repo/ds/5aa182c2-c092-4596-af6e-e95d2e263de3
13
+ djatoka_url [options] --resolver http://african.lanl.gov/adore-djatoka/resolver --rftid info:lanl-repo/ds/5aa182c2-c092-4596-af6e-e95d2e263de3
14
14
 
15
15
  where options are:
16
16
  EOS
17
17
  opt :resolver, "A Djatoka resolver base URL", :required => true, :type => String
18
- opt :rft_id, "Resource identifier", :required => true, :type => String, :short => :i
18
+ opt :rftid, "Resource identifier", :required => true, :type => String, :short => :i
19
19
  opt :level, 'Level', :type => String
20
20
  opt :rotate, 'Rotate', :type => String
21
21
  opt :region, 'Region', :type => String
@@ -30,7 +30,7 @@ EOS
30
30
  end
31
31
 
32
32
  resolver = Djatoka::Resolver.new(opts[:resolver])
33
- region = resolver.region(opts[:rft_id])
33
+ region = resolver.region(opts[:rftid])
34
34
 
35
35
  [:level, :rotate, :region, :scale, :format, :clayer].each do |param|
36
36
  region.send(param, opts[param]) if opts[param]
@@ -45,7 +45,7 @@ if opts[:square]
45
45
  end
46
46
 
47
47
  if opts[:metadata] or opts[:levels]
48
- metadata = resolver.metadata(opts[:rft_id])
48
+ metadata = resolver.metadata(opts[:rftid])
49
49
  metadata.perform
50
50
  if opts[:metadata]
51
51
  puts metadata.url
@@ -50,7 +50,7 @@ rescue LoadError
50
50
  end
51
51
 
52
52
  require 'net/http'
53
- require 'uri'
53
+ require 'uri'
54
54
 
55
55
  require 'djatoka/net'
56
56
  require 'djatoka/resolver'
@@ -124,7 +124,9 @@ class Djatoka::Region
124
124
  def map_params(params)
125
125
  params.each do |k,v|
126
126
  if k.to_s != 'resolver' and self.respond_to?(k) and
127
- self.class.instance_methods(false).include?(k.to_s)
127
+ (self.class.instance_methods(false).include?(k.to_s) or
128
+ self.class.instance_methods(false).include?(k.to_sym)
129
+ )
128
130
  self.send(k,v)
129
131
  end
130
132
  end
@@ -5,7 +5,7 @@ require 'shoulda'
5
5
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
6
  $LOAD_PATH.unshift(File.dirname(__FILE__))
7
7
  require 'djatoka'
8
- require 'ruby-debug'
8
+ #require 'ruby-debug'
9
9
 
10
10
  class Test::Unit::TestCase
11
11
  def self.with_a_resolver(&block)
@@ -20,5 +20,14 @@ class Test::Unit::TestCase
20
20
  end
21
21
  end
22
22
 
23
+ def set_testing_curb
24
+ begin
25
+ require 'curb'
26
+ Djatoka.use_curb = true
27
+ rescue LoadError
28
+ Djatoka.use_curb = false
29
+ end
30
+ end
31
+
23
32
  end
24
33
 
@@ -4,6 +4,7 @@ class TestDjatoka < Test::Unit::TestCase
4
4
  should 'allow Djatoka.use_curb to be set' do
5
5
  Djatoka.use_curb=true
6
6
  assert Djatoka.use_curb?
7
+ set_testing_curb
7
8
  end
8
9
 
9
10
  with_a_resolver do
@@ -56,7 +56,7 @@ class TestDjatokaMetadata < Test::Unit::TestCase
56
56
  should 'return a height for a good request' do
57
57
  Djatoka.use_curb=false
58
58
  assert_equal '3372', Djatoka::Metadata.new(@resolver, @identifier).perform.height
59
- Djatoka.use_curb=true
59
+ set_testing_curb
60
60
  end
61
61
  end
62
62
 
@@ -126,7 +126,7 @@ class TestDjatokaMetadata < Test::Unit::TestCase
126
126
  assert_equal 'image/png', region.query.format
127
127
  end
128
128
  should 'accept param keys as strings' do
129
- params = {'level'=> 3, 'rotate'=>180, 'region' => '0,0,500,500',
129
+ params = {'level'=> 3, 'rotate'=> 180, 'region' => '0,0,500,500',
130
130
  'scale' => 75, 'format' => 'image/png'
131
131
  }
132
132
  region = Djatoka::Region.new(@resolver,@identifier,params)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: djatoka
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jason Ronallo
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-30 00:00:00 -04:00
18
+ date: 2010-08-22 00:00:00 -04:00
19
19
  default_executable: djatoka_url
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -33,7 +33,7 @@ dependencies:
33
33
  type: :development
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
36
- name: ruby-debug
36
+ name: hanna
37
37
  prerelease: false
38
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
@@ -63,7 +63,7 @@ dependencies:
63
63
  type: :runtime
64
64
  version_requirements: *id003
65
65
  - !ruby/object:Gem::Dependency
66
- name: json
66
+ name: curb
67
67
  prerelease: false
68
68
  requirement: &id004 !ruby/object:Gem::Requirement
69
69
  none: false
@@ -74,10 +74,10 @@ dependencies:
74
74
  segments:
75
75
  - 0
76
76
  version: "0"
77
- type: :runtime
77
+ type: :development
78
78
  version_requirements: *id004
79
79
  - !ruby/object:Gem::Dependency
80
- name: trollop
80
+ name: json
81
81
  prerelease: false
82
82
  requirement: &id005 !ruby/object:Gem::Requirement
83
83
  none: false
@@ -91,7 +91,7 @@ dependencies:
91
91
  type: :runtime
92
92
  version_requirements: *id005
93
93
  - !ruby/object:Gem::Dependency
94
- name: hashie
94
+ name: trollop
95
95
  prerelease: false
96
96
  requirement: &id006 !ruby/object:Gem::Requirement
97
97
  none: false
@@ -104,6 +104,20 @@ dependencies:
104
104
  version: "0"
105
105
  type: :runtime
106
106
  version_requirements: *id006
107
+ - !ruby/object:Gem::Dependency
108
+ name: hashie
109
+ prerelease: false
110
+ requirement: &id007 !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 3
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ type: :runtime
120
+ version_requirements: *id007
107
121
  description: The djatoka library provides some simple methods for creation of the OpenURLs needed to communicate with the Djatoka image server.
108
122
  email: jronallo@gmail.com
109
123
  executables: