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.
- data/README.rdoc +18 -8
- data/Rakefile +8 -4
- data/VERSION +1 -1
- data/bin/djatoka_url +4 -4
- data/lib/djatoka.rb +1 -1
- data/lib/djatoka/region.rb +3 -1
- data/test/helper.rb +10 -1
- data/test/test_djatoka.rb +1 -0
- data/test/test_metadata.rb +1 -1
- data/test/test_region.rb +1 -1
- metadata +23 -9
    
        data/README.rdoc
    CHANGED
    
    | @@ -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 -- | 
| 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 -- | 
| 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 | 
            -
                 | 
| 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 | 
            -
             | 
| 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. | 
| 1 | 
            +
            0.0.6
         | 
    
        data/bin/djatoka_url
    CHANGED
    
    | @@ -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 -- | 
| 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 : | 
| 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[: | 
| 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[: | 
| 48 | 
            +
             metadata = resolver.metadata(opts[:rftid])
         | 
| 49 49 | 
             
             metadata.perform
         | 
| 50 50 | 
             
             if opts[:metadata]
         | 
| 51 51 | 
             
               puts metadata.url
         | 
    
        data/lib/djatoka.rb
    CHANGED
    
    
    
        data/lib/djatoka/region.rb
    CHANGED
    
    | @@ -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
         | 
    
        data/test/helper.rb
    CHANGED
    
    | @@ -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 |  | 
    
        data/test/test_djatoka.rb
    CHANGED
    
    
    
        data/test/test_metadata.rb
    CHANGED
    
    | @@ -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 | 
            -
                     | 
| 59 | 
            +
                    set_testing_curb
         | 
| 60 60 | 
             
                  end
         | 
| 61 61 | 
             
                end
         | 
| 62 62 |  | 
    
        data/test/test_region.rb
    CHANGED
    
    | @@ -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:  | 
| 4 | 
            +
              hash: 19
         | 
| 5 5 | 
             
              prerelease: false
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 0
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.0. | 
| 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- | 
| 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:  | 
| 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:  | 
| 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: : | 
| 77 | 
            +
              type: :development
         | 
| 78 78 | 
             
              version_requirements: *id004
         | 
| 79 79 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 80 | 
            -
              name:  | 
| 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:  | 
| 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: 
         |