riiif 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +23 -7
  3. data/Rakefile +2 -2
  4. data/app/controllers/riiif/images_controller.rb +16 -4
  5. data/app/models/riiif/image.rb +4 -3
  6. data/config/routes.rb +1 -1
  7. data/lib/riiif.rb +8 -0
  8. data/lib/riiif/file_system_file_resolver.rb +1 -1
  9. data/lib/riiif/http_file_resolver.rb +7 -3
  10. data/lib/riiif/version.rb +1 -1
  11. data/riiif.gemspec +1 -0
  12. data/spec/controllers/images_controller_spec.rb +60 -1
  13. data/spec/models/file_system_file_resolver_spec.rb +2 -1
  14. data/spec/models/http_file_resolver_spec.rb +22 -0
  15. data/spec/models/image_spec.rb +6 -1
  16. data/spec/routing/resize_routes_spec.rb +3 -0
  17. metadata +33 -47
  18. data/app/helpers/riiif/openseadragon_helper.rb +0 -44
  19. data/app/views/riiif/images/view.html.erb +0 -2
  20. data/spec/helpers/openseadragon_helper_spec.rb +0 -33
  21. data/vendor/assets/images/openseadragon/fullpage_grouphover.png +0 -0
  22. data/vendor/assets/images/openseadragon/fullpage_hover.png +0 -0
  23. data/vendor/assets/images/openseadragon/fullpage_pressed.png +0 -0
  24. data/vendor/assets/images/openseadragon/fullpage_rest.png +0 -0
  25. data/vendor/assets/images/openseadragon/home_grouphover.png +0 -0
  26. data/vendor/assets/images/openseadragon/home_hover.png +0 -0
  27. data/vendor/assets/images/openseadragon/home_pressed.png +0 -0
  28. data/vendor/assets/images/openseadragon/home_rest.png +0 -0
  29. data/vendor/assets/images/openseadragon/next_grouphover.png +0 -0
  30. data/vendor/assets/images/openseadragon/next_hover.png +0 -0
  31. data/vendor/assets/images/openseadragon/next_pressed.png +0 -0
  32. data/vendor/assets/images/openseadragon/next_rest.png +0 -0
  33. data/vendor/assets/images/openseadragon/previous_grouphover.png +0 -0
  34. data/vendor/assets/images/openseadragon/previous_hover.png +0 -0
  35. data/vendor/assets/images/openseadragon/previous_pressed.png +0 -0
  36. data/vendor/assets/images/openseadragon/previous_rest.png +0 -0
  37. data/vendor/assets/images/openseadragon/zoomin_grouphover.png +0 -0
  38. data/vendor/assets/images/openseadragon/zoomin_hover.png +0 -0
  39. data/vendor/assets/images/openseadragon/zoomin_pressed.png +0 -0
  40. data/vendor/assets/images/openseadragon/zoomin_rest.png +0 -0
  41. data/vendor/assets/images/openseadragon/zoomout_grouphover.png +0 -0
  42. data/vendor/assets/images/openseadragon/zoomout_hover.png +0 -0
  43. data/vendor/assets/images/openseadragon/zoomout_pressed.png +0 -0
  44. data/vendor/assets/images/openseadragon/zoomout_rest.png +0 -0
  45. data/vendor/assets/javascripts/openseadragon.js +0 -12279
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13b44576c71052f837544aa7b4f35e1ead018009
4
- data.tar.gz: a7bd5073a3091335aac72798bdd31881d8d15481
3
+ metadata.gz: dea7c70b11b5f293a13b1518eaad32036f450189
4
+ data.tar.gz: 26af68981801093f8d7a0f0e7b4f4aaf4d1cb14f
5
5
  SHA512:
6
- metadata.gz: 9f12758453c5d6503e56993746130bca893379b2648fa6a2b5a305057710b76963fe688f4f8a080ba3543a11e1db13a880e9d848fce5ba6a2b3bacb51d1e8d5f
7
- data.tar.gz: 69c991af0419d7413a7c8bb8d658ad0f703e3b68e27877c41a154e8061097531737d3fdb35848a5e703e4a121991d2c28243611451be42030e29b7069b56ccb5
6
+ metadata.gz: 619d7dd008484a2cb62d18d0a21d9e015d7d3a2c3b04065f3859eb59bf9857007b7768e2e1898f53b9795eff11f98eadeb0aef4be694d533a8ec1d822f5f70cc
7
+ data.tar.gz: 31a0d174c238ad6177b887028370665cb9e61dcf02522843a71be121e97ac88b2069ddab733b6e87d414332cb57eb53cb40de32bc35bc1d5c5a62b178b4280ae
data/README.md CHANGED
@@ -63,18 +63,34 @@ Then you can make requests like this:
63
63
  * http://www.example.org/image-service/abcd1234/full/150,75/0/native.jpg
64
64
  * http://www.example.org/image-service/abcd1234/full/!150,75/0/native.jpg
65
65
 
66
- ### OpenSeadragon
66
+ ### Using a default image
67
67
 
68
- Riiif ships with OpenSeaDragon support. To use it add this in your controller:
68
+ If there is a request for an id that doesn't exist, a 404 will be returned. You can optionally return an image with this 404 by setting this in your initializer:
69
69
 
70
70
  ```ruby
71
- helper Riiif::OpenseadragonHelper
71
+ Riiif::not_found_image = 'path/to/image.png'
72
72
  ```
73
73
 
74
- Then in your view you can do this:
75
- ```erb
76
- <%=javascript_include_tag "openseadragon.js" %>
77
- <%= openseadragon_viewer(@image.id, html: {style: 'width: 800px; height: 600px;'}) %>
74
+ You can do this to create a default Riiif::Image to use (useful for passing "missing" images to openseadragon_collection_viewer):
75
+
76
+ ```ruby
77
+ Riiif::Image.new('no_image', Riiif::File.new(Riiif.not_found_image))
78
+ ```
79
+
80
+ ## Running the tests
81
+ First, build the engine
82
+ ```bash
83
+ rake engine_cart:generate
84
+ ```
85
+
86
+ ImageMagick must be installed with jasper support
87
+ ```bash
88
+ brew install imagemagick --with-jasper # if using Homebrew
89
+ ```
90
+
91
+ Run the tests
92
+ ```bash
93
+ rake spec
78
94
  ```
79
95
 
80
96
 
data/Rakefile CHANGED
@@ -1,9 +1,9 @@
1
1
  require "bundler/gem_tasks"
2
-
3
- require 'engine_cart/rake_task'
2
+ require 'bundler/setup'
4
3
  require 'rspec/core/rake_task'
5
4
  RSpec::Core::RakeTask.new(:spec)
6
5
 
6
+ require 'engine_cart/rake_task'
7
7
  task :ci => ['engine_cart:generate'] do
8
8
  # run the tests
9
9
  end
@@ -2,9 +2,19 @@ module Riiif
2
2
  class ImagesController < ::ApplicationController
3
3
  before_filter :link_header, only: [:show, :info]
4
4
  def show
5
- image = Image.new(params[:id])
5
+ begin
6
+ image = Image.new(params[:id])
7
+ status = :ok
8
+ rescue ImageNotFoundError
9
+ if Riiif.not_found_image.present?
10
+ image = Riiif::Image.new(params[:id], Riiif::File.new(Riiif.not_found_image))
11
+ status = :not_found
12
+ else
13
+ raise
14
+ end
15
+ end
6
16
  data = image.render(params.permit(:region, :size, :rotation, :quality, :format))
7
- send_data data, type: Mime::Type.lookup_by_extension(params[:format]), :disposition => 'inline'
17
+ send_data data, status: status, type: Mime::Type.lookup_by_extension(params[:format]), :disposition => 'inline'
8
18
  end
9
19
 
10
20
  def info
@@ -18,8 +28,10 @@ module Riiif
18
28
 
19
29
  protected
20
30
 
31
+ LEVEL2 = 'http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2'
32
+
21
33
  def link_header
22
- response.headers["Link"] = '<http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2>;rel="profile"'
34
+ response.headers["Link"] = "<#{LEVEL2}>;rel=\"profile\""
23
35
  end
24
36
 
25
37
  def server_info
@@ -27,7 +39,7 @@ module Riiif
27
39
  "@context" => "http://library.stanford.edu/iiif/image-api/1.1/context.json",
28
40
  "@id" => request.original_url.sub('/info.json', ''),
29
41
  "formats" => Image::OUTPUT_FORMATS,
30
- "profile" => "http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0"
42
+ "profile" => "#{LEVEL2}"
31
43
 
32
44
  }
33
45
  end
@@ -9,10 +9,11 @@ module Riiif
9
9
 
10
10
  attr_reader :id, :image
11
11
 
12
- # @param [String] id The identifier of the file
13
- def initialize(id)
12
+ # @param [String] id The identifier of the file to be looked up.
13
+ # @param [Riiif::File] file Optional: The Riiif::File to use instead of looking one up.
14
+ def initialize(id, file=nil)
14
15
  @id = id
15
- @image = file_resolver.find(id)
16
+ @image = file.present? ? file : file_resolver.find(id)
16
17
  end
17
18
 
18
19
  def render(args)
data/config/routes.rb CHANGED
@@ -3,6 +3,6 @@ Riiif::Engine.routes.draw do
3
3
  SIZES ||= /(pct:)?[\w.,]+/
4
4
  get "/:id/:region/:size/:rotation/:quality(.:format)" => "images#show",
5
5
  constraints: { rotation: ALLOW_DOTS, size: SIZES}
6
- get "/:id/info(.:format)" => "images#info", :constraints => { :format => /json/}
6
+ get "/:id/info.json" => "images#info", defaults: { format: 'json' }, as: 'info'
7
7
  get "/:id/view(.:format)" => "images#view"
8
8
  end
data/lib/riiif.rb CHANGED
@@ -9,4 +9,12 @@ module Riiif
9
9
 
10
10
  class Error < RuntimeError; end
11
11
  class InvalidAttributeError < Error; end
12
+ class ImageNotFoundError < Error
13
+ attr_reader :original_exception
14
+ def initialize(orig=nil)
15
+ @original_exception = orig
16
+ end
17
+ end
18
+
19
+ mattr_accessor :not_found_image # the image to use when a lookup fails
12
20
  end
@@ -13,7 +13,7 @@ module Riiif
13
13
 
14
14
  def self.path(id)
15
15
  search = pattern(id)
16
- Dir.glob(search).first || raise(Errno::ENOENT, search)
16
+ Dir.glob(search).first || raise(ImageNotFoundError, search)
17
17
  end
18
18
 
19
19
 
@@ -49,10 +49,14 @@ module Riiif
49
49
  ensure_cache_path(::File.dirname(file_name))
50
50
  benchmark ("Riiif downloaded #{url}") do
51
51
  ::File.atomic_write(file_name, HTTPFileResolver.cache_path) do |local|
52
- Kernel::open(url) do |remote|
53
- while chunk = remote.read(8192)
54
- local.write(chunk)
52
+ begin
53
+ Kernel::open(url) do |remote|
54
+ while chunk = remote.read(8192)
55
+ local.write(chunk)
56
+ end
55
57
  end
58
+ rescue OpenURI::HTTPError => e
59
+ raise ImageNotFoundError.new(e)
56
60
  end
57
61
  end
58
62
  end
data/lib/riiif/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Riiif
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
data/riiif.gemspec CHANGED
@@ -22,5 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "rake"
23
23
  spec.add_development_dependency "engine_cart"
24
24
  spec.add_development_dependency "rspec-rails"
25
+ spec.add_development_dependency "sqlite3"
25
26
  spec.add_dependency 'rails', '> 3.2.0'
26
27
  end
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
+ require 'open-uri'
2
3
 
3
4
  describe Riiif::ImagesController do
5
+ let(:filename) { File.expand_path('spec/samples/world.jp2') }
4
6
  routes { Riiif::Engine.routes }
5
7
  it "should send images to the service" do
6
8
  image = double
@@ -27,7 +29,64 @@ describe Riiif::ImagesController do
27
29
  "width" =>6000,
28
30
  "height" =>4000,
29
31
  "formats" => [ "jpg", "png" ],
30
- "profile" => "http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0"
32
+ "profile" => "http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2"
31
33
  expect(response.headers['Link']).to eq '<http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2>;rel="profile"'
32
34
  end
35
+
36
+ context "with a nonexistent image" do
37
+ it "should error when a default image isn't sent" do
38
+ expect(Riiif::Image).to receive(:new).with('bad_id').and_raise(OpenURI::HTTPError.new("fail", StringIO.new))
39
+ expect do
40
+ get :show, id: 'bad_id', action: "show", region: 'full', size: 'full',
41
+ rotation: '0', quality: 'native', format: 'jpg'
42
+ end.to raise_error(StandardError)
43
+ end
44
+
45
+ context "with a default image set" do
46
+ around do |example|
47
+ old_value = Riiif.not_found_image
48
+ Riiif.not_found_image = filename
49
+ example.run
50
+ Riiif.not_found_image = old_value
51
+ end
52
+
53
+ it "should send the default 'not found' image for failed http files" do
54
+ not_found_image = double
55
+ expect(Riiif::Image).to receive(:new) do |id, file|
56
+ if file.present?
57
+ not_found_image
58
+ else
59
+ raise Riiif::ImageNotFoundError
60
+ end
61
+ end.twice
62
+ expect(not_found_image).to receive(:render).with("region" => 'full', "size" => 'full',
63
+ "rotation" => '0', "quality" => 'native',
64
+ "format" => 'jpg').and_return("default-image-data")
65
+
66
+ get :show, id: 'bad_id', action: "show", region: 'full', size: 'full',
67
+ rotation: '0', quality: 'native', format: 'jpg'
68
+ expect(response).to be_not_found
69
+ expect(response.body).to eq 'default-image-data'
70
+ end
71
+
72
+ it "should send the default 'not found' image for failed files on the filesystem" do
73
+ not_found_image = double
74
+ expect(Riiif::Image).to receive(:new) do |id, file|
75
+ if file.present?
76
+ not_found_image
77
+ else
78
+ raise Riiif::ImageNotFoundError
79
+ end
80
+ end.twice
81
+ expect(not_found_image).to receive(:render).with("region" => 'full', "size" => 'full',
82
+ "rotation" => '0', "quality" => 'native',
83
+ "format" => 'jpg').and_return("default-image-data")
84
+
85
+ get :show, id: 'bad_id', action: "show", region: 'full', size: 'full',
86
+ rotation: '0', quality: 'native', format: 'jpg'
87
+ expect(response).to be_not_found
88
+ expect(response.body).to eq 'default-image-data'
89
+ end
90
+ end
91
+ end
33
92
  end
@@ -3,8 +3,9 @@ require 'spec_helper'
3
3
  describe Riiif::FileSystemFileResolver do
4
4
  subject { Riiif::FileSystemFileResolver }
5
5
  it "should raise an error when the file isn't found" do
6
- expect{subject.find('1234')}.to raise_error Errno::ENOENT
6
+ expect{subject.find('1234')}.to raise_error Riiif::ImageNotFoundError
7
7
  end
8
+
8
9
  it "should get the jpeg2000 file" do
9
10
  expect(subject.find('world').path).to eq Riiif::FileSystemFileResolver.root + '/spec/samples/world.jp2'
10
11
  end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Riiif::HTTPFileResolver do
4
+ subject { Riiif::HTTPFileResolver }
5
+ around do |example|
6
+ old_value = Riiif::HTTPFileResolver.id_to_uri
7
+ Riiif::HTTPFileResolver.id_to_uri = lambda {|id| id}
8
+ example.run
9
+ Riiif::HTTPFileResolver.id_to_uri = old_value
10
+ end
11
+
12
+ it "should raise an error when the file isn't found" do
13
+ expect(Kernel).to receive(:open).and_raise(OpenURI::HTTPError.new("failure", StringIO.new))
14
+ begin
15
+ subject.find('1234')
16
+ rescue Riiif::ImageNotFoundError => e
17
+ end
18
+ expect(e).to be_a Riiif::ImageNotFoundError
19
+ expect(e.original_exception).to be_an OpenURI::HTTPError
20
+ end
21
+ end
22
+
@@ -13,6 +13,12 @@ describe Riiif::Image do
13
13
  end
14
14
  end
15
15
 
16
+ it "should be able to override the file used for the Image" do
17
+ img = Riiif::Image.new('some_id', Riiif::File.new(filename))
18
+ expect(img.id).to eq 'some_id'
19
+ expect(img.info).to eq height: 400, width: 800
20
+ end
21
+
16
22
  describe "without a format" do
17
23
  it "should raise an error" do
18
24
  expect { subject.render('size' => 'full') }.to raise_error ArgumentError
@@ -41,7 +47,6 @@ describe Riiif::Image do
41
47
  end
42
48
  end
43
49
 
44
-
45
50
  describe "mogrify" do
46
51
  describe "region" do
47
52
  it "should return the original when specifing full size" do
@@ -42,5 +42,8 @@ describe "routes" do
42
42
  ).to route_to(controller: "riiif/images", id: 'abcd1234',
43
43
  action: "info", format: 'json')
44
44
  end
45
+ it "should have a route helper" do
46
+ expect(info_path('abcd1234')).to eq '/image-service/abcd1234/info.json'
47
+ end
45
48
  end
46
49
  end
metadata CHANGED
@@ -1,83 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riiif
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-21 00:00:00.000000000 Z
11
+ date: 2014-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: engine_cart
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec-rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rails
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - '>'
87
+ - - ">"
74
88
  - !ruby/object:Gem::Version
75
89
  version: 3.2.0
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - '>'
94
+ - - ">"
81
95
  - !ruby/object:Gem::Version
82
96
  version: 3.2.0
83
97
  description: A IIIF image server
@@ -87,17 +101,15 @@ executables: []
87
101
  extensions: []
88
102
  extra_rdoc_files: []
89
103
  files:
90
- - .gitignore
91
- - .rspec
104
+ - ".gitignore"
105
+ - ".rspec"
92
106
  - Gemfile
93
107
  - LICENSE
94
108
  - README.md
95
109
  - Rakefile
96
110
  - app/controllers/riiif/images_controller.rb
97
- - app/helpers/riiif/openseadragon_helper.rb
98
111
  - app/models/riiif/file.rb
99
112
  - app/models/riiif/image.rb
100
- - app/views/riiif/images/view.html.erb
101
113
  - config/routes.rb
102
114
  - lib/riiif.rb
103
115
  - lib/riiif/engine.rb
@@ -106,38 +118,13 @@ files:
106
118
  - lib/riiif/version.rb
107
119
  - riiif.gemspec
108
120
  - spec/controllers/images_controller_spec.rb
109
- - spec/helpers/openseadragon_helper_spec.rb
110
121
  - spec/models/file_system_file_resolver_spec.rb
122
+ - spec/models/http_file_resolver_spec.rb
111
123
  - spec/models/image_spec.rb
112
124
  - spec/routing/resize_routes_spec.rb
113
125
  - spec/spec_helper.rb
114
126
  - spec/test_app_templates/Gemfile.extra
115
127
  - spec/test_app_templates/lib/generators/test_app_generator.rb
116
- - vendor/assets/images/openseadragon/fullpage_grouphover.png
117
- - vendor/assets/images/openseadragon/fullpage_hover.png
118
- - vendor/assets/images/openseadragon/fullpage_pressed.png
119
- - vendor/assets/images/openseadragon/fullpage_rest.png
120
- - vendor/assets/images/openseadragon/home_grouphover.png
121
- - vendor/assets/images/openseadragon/home_hover.png
122
- - vendor/assets/images/openseadragon/home_pressed.png
123
- - vendor/assets/images/openseadragon/home_rest.png
124
- - vendor/assets/images/openseadragon/next_grouphover.png
125
- - vendor/assets/images/openseadragon/next_hover.png
126
- - vendor/assets/images/openseadragon/next_pressed.png
127
- - vendor/assets/images/openseadragon/next_rest.png
128
- - vendor/assets/images/openseadragon/previous_grouphover.png
129
- - vendor/assets/images/openseadragon/previous_hover.png
130
- - vendor/assets/images/openseadragon/previous_pressed.png
131
- - vendor/assets/images/openseadragon/previous_rest.png
132
- - vendor/assets/images/openseadragon/zoomin_grouphover.png
133
- - vendor/assets/images/openseadragon/zoomin_hover.png
134
- - vendor/assets/images/openseadragon/zoomin_pressed.png
135
- - vendor/assets/images/openseadragon/zoomin_rest.png
136
- - vendor/assets/images/openseadragon/zoomout_grouphover.png
137
- - vendor/assets/images/openseadragon/zoomout_hover.png
138
- - vendor/assets/images/openseadragon/zoomout_pressed.png
139
- - vendor/assets/images/openseadragon/zoomout_rest.png
140
- - vendor/assets/javascripts/openseadragon.js
141
128
  homepage: https://github.com/curationexperts/riiif
142
129
  licenses:
143
130
  - APACHE2
@@ -148,27 +135,26 @@ require_paths:
148
135
  - lib
149
136
  required_ruby_version: !ruby/object:Gem::Requirement
150
137
  requirements:
151
- - - '>='
138
+ - - ">="
152
139
  - !ruby/object:Gem::Version
153
140
  version: '0'
154
141
  required_rubygems_version: !ruby/object:Gem::Requirement
155
142
  requirements:
156
- - - '>='
143
+ - - ">="
157
144
  - !ruby/object:Gem::Version
158
145
  version: '0'
159
146
  requirements: []
160
147
  rubyforge_project:
161
- rubygems_version: 2.0.3
148
+ rubygems_version: 2.2.2
162
149
  signing_key:
163
150
  specification_version: 4
164
151
  summary: A rails engine that support IIIF requests
165
152
  test_files:
166
153
  - spec/controllers/images_controller_spec.rb
167
- - spec/helpers/openseadragon_helper_spec.rb
168
154
  - spec/models/file_system_file_resolver_spec.rb
155
+ - spec/models/http_file_resolver_spec.rb
169
156
  - spec/models/image_spec.rb
170
157
  - spec/routing/resize_routes_spec.rb
171
158
  - spec/spec_helper.rb
172
159
  - spec/test_app_templates/Gemfile.extra
173
160
  - spec/test_app_templates/lib/generators/test_app_generator.rb
174
- has_rdoc: