rails_imager 0.0.11

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.
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