rails_imager 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +34 -0
  4. data/app/assets/javascripts/rails_imager/application.js +13 -0
  5. data/app/assets/javascripts/rails_imager/images.js +2 -0
  6. data/app/assets/stylesheets/rails_imager/application.css +13 -0
  7. data/app/assets/stylesheets/rails_imager/images.css +4 -0
  8. data/app/controllers/rails_imager/application_controller.rb +4 -0
  9. data/app/controllers/rails_imager/images_controller.rb +33 -0
  10. data/app/helpers/rails_imager/application_helper.rb +4 -0
  11. data/app/helpers/rails_imager/images_helper.rb +26 -0
  12. data/app/views/layouts/rails_imager/application.html.erb +14 -0
  13. data/app/views/rails_imager/images/show.html.erb +2 -0
  14. data/config/routes.rb +3 -0
  15. data/lib/rails_imager.rb +17 -0
  16. data/lib/rails_imager/engine.rb +5 -0
  17. data/lib/rails_imager/image_handler.rb +241 -0
  18. data/lib/rails_imager/version.rb +3 -0
  19. data/lib/tasks/rails_imager_tasks.rake +4 -0
  20. data/test/controllers/rails_imager/images_controller_test.rb +28 -0
  21. data/test/dummy/README.rdoc +28 -0
  22. data/test/dummy/Rakefile +6 -0
  23. data/test/dummy/app/assets/javascripts/application.js +13 -0
  24. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  25. data/test/dummy/app/controllers/application_controller.rb +5 -0
  26. data/test/dummy/app/helpers/application_helper.rb +2 -0
  27. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  28. data/test/dummy/bin/bundle +3 -0
  29. data/test/dummy/bin/rails +4 -0
  30. data/test/dummy/bin/rake +4 -0
  31. data/test/dummy/config.ru +4 -0
  32. data/test/dummy/config/application.rb +23 -0
  33. data/test/dummy/config/boot.rb +5 -0
  34. data/test/dummy/config/database.yml +25 -0
  35. data/test/dummy/config/environment.rb +5 -0
  36. data/test/dummy/config/environments/development.rb +29 -0
  37. data/test/dummy/config/environments/production.rb +80 -0
  38. data/test/dummy/config/environments/test.rb +36 -0
  39. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  41. data/test/dummy/config/initializers/inflections.rb +16 -0
  42. data/test/dummy/config/initializers/mime_types.rb +5 -0
  43. data/test/dummy/config/initializers/secret_token.rb +12 -0
  44. data/test/dummy/config/initializers/session_store.rb +3 -0
  45. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  46. data/test/dummy/config/locales/en.yml +23 -0
  47. data/test/dummy/config/routes.rb +3 -0
  48. data/test/dummy/db/development.sqlite3 +0 -0
  49. data/test/dummy/db/test.sqlite3 +0 -0
  50. data/test/dummy/log/development.log +1367 -0
  51. data/test/dummy/log/test.log +3496 -0
  52. data/test/dummy/public/404.html +58 -0
  53. data/test/dummy/public/422.html +58 -0
  54. data/test/dummy/public/500.html +57 -0
  55. data/test/dummy/public/favicon.ico +0 -0
  56. data/test/dummy/public/test.png +0 -0
  57. data/test/dummy/tmp/cache/assets/development/sprockets/0664a19cc0f5d977f80bafcefe17e9c9 +0 -0
  58. data/test/dummy/tmp/cache/assets/development/sprockets/0a9ac96e2e41642bb5a979bc1bba099d +0 -0
  59. data/test/dummy/tmp/cache/assets/development/sprockets/2ca25a1b4dbb5046e79cdc5c2b0e6d55 +0 -0
  60. data/test/dummy/tmp/cache/assets/development/sprockets/510b6fd97773642f0b777a14f0ef5366 +0 -0
  61. data/test/dummy/tmp/cache/assets/development/sprockets/9e801b0fd4666d3a5cb45345d7de21a7 +0 -0
  62. data/test/dummy/tmp/cache/assets/development/sprockets/b40bea70cdbfe1b3b11ede81a1d20002 +0 -0
  63. data/test/dummy/tmp/cache/assets/development/sprockets/be7b64afb60161c417c6465682b304ac +0 -0
  64. data/test/dummy/tmp/cache/assets/development/sprockets/c0dbbd2455c6e7638bd41c5f003dff53 +0 -0
  65. data/test/dummy/tmp/cache/assets/development/sprockets/cc85e49d1f8af3e2bb0073f666f413be +0 -0
  66. data/test/dummy/tmp/cache/assets/development/sprockets/e31424e52369b0afcae5d0350c19ae82 +0 -0
  67. data/test/dummy/tmp/cache/assets/development/sprockets/f202557856e13ca5921856c87d402bd4 +0 -0
  68. data/test/dummy/tmp/cache/assets/development/sprockets/fe7c9c32074445201dccf284f19078bf +0 -0
  69. data/test/dummy/tmp/cache/assets/test/sprockets/0a9ac96e2e41642bb5a979bc1bba099d +0 -0
  70. data/test/dummy/tmp/cache/assets/test/sprockets/2ca25a1b4dbb5046e79cdc5c2b0e6d55 +0 -0
  71. data/test/dummy/tmp/cache/assets/test/sprockets/510b6fd97773642f0b777a14f0ef5366 +0 -0
  72. data/test/dummy/tmp/cache/assets/test/sprockets/9e801b0fd4666d3a5cb45345d7de21a7 +0 -0
  73. data/test/dummy/tmp/cache/assets/test/sprockets/b40bea70cdbfe1b3b11ede81a1d20002 +0 -0
  74. data/test/dummy/tmp/cache/assets/test/sprockets/be7b64afb60161c417c6465682b304ac +0 -0
  75. data/test/dummy/tmp/cache/assets/test/sprockets/c0dbbd2455c6e7638bd41c5f003dff53 +0 -0
  76. data/test/dummy/tmp/cache/assets/test/sprockets/e31424e52369b0afcae5d0350c19ae82 +0 -0
  77. data/test/dummy/tmp/cache/assets/test/sprockets/f202557856e13ca5921856c87d402bd4 +0 -0
  78. data/test/dummy/tmp/cache/assets/test/sprockets/fe7c9c32074445201dccf284f19078bf +0 -0
  79. data/test/helpers/rails_imager/images_helper_test.rb +8 -0
  80. data/test/image_handler_test.rb +138 -0
  81. data/test/integration/navigation_test.rb +10 -0
  82. data/test/rails_imager_test.rb +7 -0
  83. data/test/test.png +0 -0
  84. data/test/test_helper.rb +15 -0
  85. metadata +219 -0
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/404.html -->
52
+ <div class="dialog">
53
+ <h1>The page you were looking for doesn't exist.</h1>
54
+ <p>You may have mistyped the address or the page may have moved.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
Binary file
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class RailsImager::ImagesHelperTest < ActionView::TestCase
4
+ test "#rails_imager_path" do
5
+ path = rails_imager_p("test.png", :smartsize => 200)
6
+ assert_equal "/rails_imager/images/test.png/?image[smartsize]=200", path
7
+ end
8
+ end
@@ -0,0 +1,138 @@
1
+ require "test_helper"
2
+ require "tmpdir"
3
+ require "fileutils"
4
+ require "datet"
5
+ require "RMagick"
6
+
7
+ class RailsImager::ImageHandlerTest < ActiveSupport::TestCase
8
+ TEST_FILE = File.realpath("#{File.dirname(__FILE__)}/test.png")
9
+ IMG = Magick::Image.read(TEST_FILE).first
10
+ CACHE_DIR = "#{Dir.tmpdir}/rails-imager-test-cache"
11
+ CACHE_PATH_SMARTSIZE_350 = "#{CACHE_DIR}/#{Knj::Strings.sanitize_filename(IMG.filename)}__ARGS___width-_height-_smartsize-350_maxwidth-_maxheight-_rounded_corners-_border-_border_color-"
12
+ FileUtils.rm_r(CACHE_DIR) if Dir.exists?(CACHE_DIR)
13
+ Dir.mkdir(CACHE_DIR)
14
+ RIMG = RailsImager::ImageHandler.new(:cache_dir => CACHE_DIR)
15
+
16
+ MOD_TIME = File.mtime(TEST_FILE)
17
+ PARAMS_350 = {:smartsize => 350}
18
+ REQUEST_350 = Knj::Hash_methods.new({
19
+ :headers => {
20
+ "HTTP_IF_MODIFIED_SINCE" => MOD_TIME
21
+ }
22
+ })
23
+
24
+ test "should do smartsizing" do
25
+ newimg = RIMG.img_from_params(:image => IMG, :params => {:smartsize => "640"})
26
+ assert_same newimg.columns, 640
27
+ assert_same newimg.rows, 629
28
+ end
29
+
30
+ test "should do exact sizes" do
31
+ newimg = RIMG.img_from_params(:image => IMG, :params => {:width => "640", :height => "480"})
32
+ assert_same newimg.columns, 640
33
+ assert_same newimg.rows, 480
34
+ end
35
+
36
+ test "should do rounded corners" do
37
+ newimg = RIMG.img_from_params(:image => IMG, :params => {:smartsize => "640", :rounded_corners => "15", :border => "1", :border_color => "black"})
38
+
39
+ assert_same newimg.columns, 640
40
+ assert_same newimg.rows, 629
41
+
42
+ #Test that corner pixels are transparent.
43
+ 4.times do |time|
44
+ pixel = newimg.pixel_color(time, time)
45
+ assert_same pixel.opacity, 65535
46
+
47
+ pixel_orig = IMG.pixel_color(time, time)
48
+ assert_same pixel_orig.opacity, 0
49
+ end
50
+
51
+ #Test that it got a black border.
52
+ pixel = newimg.pixel_color(2, 5)
53
+ assert_same pixel.red, 0
54
+ assert_same pixel.green, 0
55
+ assert_same pixel.blue, 0
56
+ assert_same pixel.opacity, 0
57
+
58
+ #Test that middle pixels are not transparent.
59
+ 100.upto(200) do |time|
60
+ pixel = newimg.pixel_color(time, time)
61
+ assert_same pixel.opacity, 0
62
+
63
+ pixel_orig = IMG.pixel_color(time, time)
64
+ assert_same pixel_orig.opacity, 0
65
+ end
66
+ end
67
+
68
+ test "should do max width and height" do
69
+ newimg = RIMG.img_from_params(:image => IMG, :params => {:maxwidth => 200})
70
+ assert_same newimg.columns, 200
71
+ assert_same newimg.rows, 196
72
+
73
+ newimg = RIMG.img_from_params(:image => IMG, :params => {:maxheight => 200})
74
+ assert_same newimg.rows, 200
75
+ assert_same newimg.columns, 203
76
+ end
77
+
78
+ test "should be able to generate valid cache names" do
79
+ cachename = RIMG.cachename_from_params(:fpath => '1\\2 3', :params => {:smartsize => 400})
80
+ assert_equal cachename, "1_2_3__ARGS___width-_height-_smartsize-400_maxwidth-_maxheight-_rounded_corners-_border-_border_color-"
81
+ end
82
+
83
+ test "should be able to generate cache" do
84
+ res_from_img = RIMG.force_cache_from_request(:image => IMG, :request => REQUEST_350, :params => PARAMS_350)
85
+ RIMG.clear_cache
86
+ res_from_fpath = RIMG.force_cache_from_request(:fpath => TEST_FILE, :request => REQUEST_350, :params => PARAMS_350)
87
+
88
+ assert_equal res_from_img[:cachepath], CACHE_PATH_SMARTSIZE_350
89
+ assert_equal res_from_fpath[:cachepath], CACHE_PATH_SMARTSIZE_350
90
+
91
+ assert res_from_img[:generated]
92
+ assert res_from_fpath[:generated]
93
+
94
+ res_from_img = RIMG.force_cache_from_request(:image => IMG, :request => REQUEST_350, :params => PARAMS_350)
95
+ res_from_fpath = RIMG.force_cache_from_request(:fpath => TEST_FILE, :request => REQUEST_350, :params => PARAMS_350)
96
+
97
+ assert_not res_from_img[:generated]
98
+ assert_not res_from_fpath[:generated]
99
+
100
+ RIMG.clear_cache
101
+ end
102
+
103
+ test "should send not modified" do
104
+ #Generate fresh cache.
105
+ res_from_img = RIMG.force_cache_from_request(:image => IMG, :request => REQUEST_350, :params => PARAMS_350)
106
+ assert_equal res_from_img[:cachepath], CACHE_PATH_SMARTSIZE_350
107
+ assert res_from_img[:generated]
108
+
109
+ #Generate again - expect not-modified.
110
+ res_from_img = RIMG.force_cache_from_request(:image => IMG, :request => REQUEST_350, :params => PARAMS_350)
111
+ assert_not res_from_img[:generated]
112
+ assert res_from_img[:not_modified]
113
+
114
+ #Generate again - expected modified.
115
+ day_ago = Datet.new.add_days(-1).time
116
+ request_day_ago = Knj::Hash_methods.new(REQUEST_350.merge({:headers => {"HTTP_IF_MODIFIED_SINCE" => day_ago}}))
117
+ res_from_img = RIMG.force_cache_from_request(:image => IMG, :request => request_day_ago, :params => PARAMS_350)
118
+ assert_not res_from_img[:not_modified]
119
+ assert_not res_from_img[:generated]
120
+
121
+ #Clear cache to reset.
122
+ RIMG.clear_cache
123
+ end
124
+
125
+ test "should be able to clear the cache" do
126
+ RIMG.clear_cache do |fpath|
127
+ true
128
+ end
129
+
130
+ cache_size = 0
131
+ Dir.foreach(CACHE_DIR) do |file|
132
+ next if file == "." or file == ".."
133
+ cache_size += 1
134
+ end
135
+
136
+ assert_same cache_size, 0
137
+ end
138
+ end
@@ -0,0 +1,10 @@
1
+ require 'test_helper'
2
+
3
+ class NavigationTest < ActionDispatch::IntegrationTest
4
+ fixtures :all
5
+
6
+ # test "the truth" do
7
+ # assert true
8
+ # end
9
+ end
10
+
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class RailsImagerTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, RailsImager
6
+ end
7
+ end
data/test/test.png ADDED
Binary file
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
metadata ADDED
@@ -0,0 +1,219 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails_imager
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.11
5
+ platform: ruby
6
+ authors:
7
+ - kaspernj
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 4.0.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: sqlite3
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Automatic resizing, bordering and more of images.
42
+ email:
43
+ - k@spernj.org
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - app/helpers/rails_imager/application_helper.rb
49
+ - app/helpers/rails_imager/images_helper.rb
50
+ - app/assets/javascripts/rails_imager/images.js
51
+ - app/assets/javascripts/rails_imager/application.js
52
+ - app/assets/stylesheets/rails_imager/application.css
53
+ - app/assets/stylesheets/rails_imager/images.css
54
+ - app/controllers/rails_imager/images_controller.rb
55
+ - app/controllers/rails_imager/application_controller.rb
56
+ - app/views/rails_imager/images/show.html.erb
57
+ - app/views/layouts/rails_imager/application.html.erb
58
+ - config/routes.rb
59
+ - lib/rails_imager/engine.rb
60
+ - lib/rails_imager/version.rb
61
+ - lib/rails_imager/image_handler.rb
62
+ - lib/tasks/rails_imager_tasks.rake
63
+ - lib/rails_imager.rb
64
+ - MIT-LICENSE
65
+ - Rakefile
66
+ - test/helpers/rails_imager/images_helper_test.rb
67
+ - test/rails_imager_test.rb
68
+ - test/controllers/rails_imager/images_controller_test.rb
69
+ - test/dummy/bin/rails
70
+ - test/dummy/bin/bundle
71
+ - test/dummy/bin/rake
72
+ - test/dummy/config.ru
73
+ - test/dummy/README.rdoc
74
+ - test/dummy/Rakefile
75
+ - test/dummy/public/404.html
76
+ - test/dummy/public/500.html
77
+ - test/dummy/public/test.png
78
+ - test/dummy/public/422.html
79
+ - test/dummy/public/favicon.ico
80
+ - test/dummy/log/development.log
81
+ - test/dummy/log/test.log
82
+ - test/dummy/db/development.sqlite3
83
+ - test/dummy/db/test.sqlite3
84
+ - test/dummy/app/helpers/application_helper.rb
85
+ - test/dummy/app/assets/javascripts/application.js
86
+ - test/dummy/app/assets/stylesheets/application.css
87
+ - test/dummy/app/controllers/application_controller.rb
88
+ - test/dummy/app/views/layouts/application.html.erb
89
+ - test/dummy/config/routes.rb
90
+ - test/dummy/config/locales/en.yml
91
+ - test/dummy/config/application.rb
92
+ - test/dummy/config/initializers/wrap_parameters.rb
93
+ - test/dummy/config/initializers/secret_token.rb
94
+ - test/dummy/config/initializers/backtrace_silencers.rb
95
+ - test/dummy/config/initializers/filter_parameter_logging.rb
96
+ - test/dummy/config/initializers/mime_types.rb
97
+ - test/dummy/config/initializers/session_store.rb
98
+ - test/dummy/config/initializers/inflections.rb
99
+ - test/dummy/config/database.yml
100
+ - test/dummy/config/environment.rb
101
+ - test/dummy/config/boot.rb
102
+ - test/dummy/config/environments/development.rb
103
+ - test/dummy/config/environments/test.rb
104
+ - test/dummy/config/environments/production.rb
105
+ - test/dummy/tmp/cache/assets/test/sprockets/fe7c9c32074445201dccf284f19078bf
106
+ - test/dummy/tmp/cache/assets/test/sprockets/f202557856e13ca5921856c87d402bd4
107
+ - test/dummy/tmp/cache/assets/test/sprockets/c0dbbd2455c6e7638bd41c5f003dff53
108
+ - test/dummy/tmp/cache/assets/test/sprockets/e31424e52369b0afcae5d0350c19ae82
109
+ - test/dummy/tmp/cache/assets/test/sprockets/2ca25a1b4dbb5046e79cdc5c2b0e6d55
110
+ - test/dummy/tmp/cache/assets/test/sprockets/0a9ac96e2e41642bb5a979bc1bba099d
111
+ - test/dummy/tmp/cache/assets/test/sprockets/b40bea70cdbfe1b3b11ede81a1d20002
112
+ - test/dummy/tmp/cache/assets/test/sprockets/9e801b0fd4666d3a5cb45345d7de21a7
113
+ - test/dummy/tmp/cache/assets/test/sprockets/be7b64afb60161c417c6465682b304ac
114
+ - test/dummy/tmp/cache/assets/test/sprockets/510b6fd97773642f0b777a14f0ef5366
115
+ - test/dummy/tmp/cache/assets/development/sprockets/fe7c9c32074445201dccf284f19078bf
116
+ - test/dummy/tmp/cache/assets/development/sprockets/f202557856e13ca5921856c87d402bd4
117
+ - test/dummy/tmp/cache/assets/development/sprockets/cc85e49d1f8af3e2bb0073f666f413be
118
+ - test/dummy/tmp/cache/assets/development/sprockets/c0dbbd2455c6e7638bd41c5f003dff53
119
+ - test/dummy/tmp/cache/assets/development/sprockets/e31424e52369b0afcae5d0350c19ae82
120
+ - test/dummy/tmp/cache/assets/development/sprockets/2ca25a1b4dbb5046e79cdc5c2b0e6d55
121
+ - test/dummy/tmp/cache/assets/development/sprockets/0a9ac96e2e41642bb5a979bc1bba099d
122
+ - test/dummy/tmp/cache/assets/development/sprockets/b40bea70cdbfe1b3b11ede81a1d20002
123
+ - test/dummy/tmp/cache/assets/development/sprockets/0664a19cc0f5d977f80bafcefe17e9c9
124
+ - test/dummy/tmp/cache/assets/development/sprockets/9e801b0fd4666d3a5cb45345d7de21a7
125
+ - test/dummy/tmp/cache/assets/development/sprockets/be7b64afb60161c417c6465682b304ac
126
+ - test/dummy/tmp/cache/assets/development/sprockets/510b6fd97773642f0b777a14f0ef5366
127
+ - test/image_handler_test.rb
128
+ - test/test.png
129
+ - test/test_helper.rb
130
+ - test/integration/navigation_test.rb
131
+ homepage: http://www.github.com/kaspernj/rails_imager
132
+ licenses: []
133
+ metadata: {}
134
+ post_install_message:
135
+ rdoc_options: []
136
+ require_paths:
137
+ - lib
138
+ required_ruby_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - '>='
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ requirements: []
149
+ rubyforge_project:
150
+ rubygems_version: 2.0.7
151
+ signing_key:
152
+ specification_version: 4
153
+ summary: Automatic resizing, bordering and more of images.
154
+ test_files:
155
+ - test/helpers/rails_imager/images_helper_test.rb
156
+ - test/rails_imager_test.rb
157
+ - test/controllers/rails_imager/images_controller_test.rb
158
+ - test/dummy/bin/rails
159
+ - test/dummy/bin/bundle
160
+ - test/dummy/bin/rake
161
+ - test/dummy/config.ru
162
+ - test/dummy/README.rdoc
163
+ - test/dummy/Rakefile
164
+ - test/dummy/public/404.html
165
+ - test/dummy/public/500.html
166
+ - test/dummy/public/test.png
167
+ - test/dummy/public/422.html
168
+ - test/dummy/public/favicon.ico
169
+ - test/dummy/log/development.log
170
+ - test/dummy/log/test.log
171
+ - test/dummy/db/development.sqlite3
172
+ - test/dummy/db/test.sqlite3
173
+ - test/dummy/app/helpers/application_helper.rb
174
+ - test/dummy/app/assets/javascripts/application.js
175
+ - test/dummy/app/assets/stylesheets/application.css
176
+ - test/dummy/app/controllers/application_controller.rb
177
+ - test/dummy/app/views/layouts/application.html.erb
178
+ - test/dummy/config/routes.rb
179
+ - test/dummy/config/locales/en.yml
180
+ - test/dummy/config/application.rb
181
+ - test/dummy/config/initializers/wrap_parameters.rb
182
+ - test/dummy/config/initializers/secret_token.rb
183
+ - test/dummy/config/initializers/backtrace_silencers.rb
184
+ - test/dummy/config/initializers/filter_parameter_logging.rb
185
+ - test/dummy/config/initializers/mime_types.rb
186
+ - test/dummy/config/initializers/session_store.rb
187
+ - test/dummy/config/initializers/inflections.rb
188
+ - test/dummy/config/database.yml
189
+ - test/dummy/config/environment.rb
190
+ - test/dummy/config/boot.rb
191
+ - test/dummy/config/environments/development.rb
192
+ - test/dummy/config/environments/test.rb
193
+ - test/dummy/config/environments/production.rb
194
+ - test/dummy/tmp/cache/assets/test/sprockets/fe7c9c32074445201dccf284f19078bf
195
+ - test/dummy/tmp/cache/assets/test/sprockets/f202557856e13ca5921856c87d402bd4
196
+ - test/dummy/tmp/cache/assets/test/sprockets/c0dbbd2455c6e7638bd41c5f003dff53
197
+ - test/dummy/tmp/cache/assets/test/sprockets/e31424e52369b0afcae5d0350c19ae82
198
+ - test/dummy/tmp/cache/assets/test/sprockets/2ca25a1b4dbb5046e79cdc5c2b0e6d55
199
+ - test/dummy/tmp/cache/assets/test/sprockets/0a9ac96e2e41642bb5a979bc1bba099d
200
+ - test/dummy/tmp/cache/assets/test/sprockets/b40bea70cdbfe1b3b11ede81a1d20002
201
+ - test/dummy/tmp/cache/assets/test/sprockets/9e801b0fd4666d3a5cb45345d7de21a7
202
+ - test/dummy/tmp/cache/assets/test/sprockets/be7b64afb60161c417c6465682b304ac
203
+ - test/dummy/tmp/cache/assets/test/sprockets/510b6fd97773642f0b777a14f0ef5366
204
+ - test/dummy/tmp/cache/assets/development/sprockets/fe7c9c32074445201dccf284f19078bf
205
+ - test/dummy/tmp/cache/assets/development/sprockets/f202557856e13ca5921856c87d402bd4
206
+ - test/dummy/tmp/cache/assets/development/sprockets/cc85e49d1f8af3e2bb0073f666f413be
207
+ - test/dummy/tmp/cache/assets/development/sprockets/c0dbbd2455c6e7638bd41c5f003dff53
208
+ - test/dummy/tmp/cache/assets/development/sprockets/e31424e52369b0afcae5d0350c19ae82
209
+ - test/dummy/tmp/cache/assets/development/sprockets/2ca25a1b4dbb5046e79cdc5c2b0e6d55
210
+ - test/dummy/tmp/cache/assets/development/sprockets/0a9ac96e2e41642bb5a979bc1bba099d
211
+ - test/dummy/tmp/cache/assets/development/sprockets/b40bea70cdbfe1b3b11ede81a1d20002
212
+ - test/dummy/tmp/cache/assets/development/sprockets/0664a19cc0f5d977f80bafcefe17e9c9
213
+ - test/dummy/tmp/cache/assets/development/sprockets/9e801b0fd4666d3a5cb45345d7de21a7
214
+ - test/dummy/tmp/cache/assets/development/sprockets/be7b64afb60161c417c6465682b304ac
215
+ - test/dummy/tmp/cache/assets/development/sprockets/510b6fd97773642f0b777a14f0ef5366
216
+ - test/image_handler_test.rb
217
+ - test/test.png
218
+ - test/test_helper.rb
219
+ - test/integration/navigation_test.rb