retina_rails 1.0.4 → 2.0.0

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -3
  3. data/.travis.yml +16 -4
  4. data/README.md +57 -29
  5. data/UPGRADING +7 -0
  6. data/UPGRADING.md +60 -0
  7. data/lib/retina_rails.rb +11 -7
  8. data/lib/retina_rails/extensions.rb +16 -0
  9. data/lib/retina_rails/extensions/carrierwave.rb +25 -0
  10. data/lib/retina_rails/extensions/paperclip.rb +23 -0
  11. data/lib/retina_rails/helpers.rb +42 -12
  12. data/lib/retina_rails/processors.rb +14 -0
  13. data/lib/retina_rails/processors/carrierwave.rb +49 -0
  14. data/lib/retina_rails/processors/paperclip.rb +30 -0
  15. data/lib/retina_rails/strategies.rb +6 -7
  16. data/lib/retina_rails/strategies/carrierwave.rb +56 -50
  17. data/lib/retina_rails/strategies/paperclip.rb +53 -55
  18. data/lib/retina_rails/version.rb +1 -1
  19. data/retina_rails.gemspec +11 -4
  20. data/spec/fixtures/db/retina_rails.sqlite3 +0 -0
  21. data/spec/helpers_spec.rb +87 -13
  22. data/spec/spec_helper.rb +10 -4
  23. data/spec/strategies/carrierwave_spec.rb +117 -154
  24. data/spec/strategies/paperclip_spec.rb +77 -104
  25. data/spec/support/carrierwave.rb +15 -0
  26. data/spec/support/file_string_io.rb +2 -0
  27. data/spec/support/paperclip.rb +9 -0
  28. data/spec/support/rails.rb +0 -11
  29. data/spec/support/schema.rb +8 -2
  30. metadata +53 -52
  31. data/lib/retina_rails/deprecation/carrierwave.rb +0 -23
  32. data/lib/retina_rails/deprecation/paperclip.rb +0 -23
  33. data/lib/retina_rails/exception.rb +0 -15
  34. data/spec/deprecation/carrierwave_spec.rb +0 -13
  35. data/spec/deprecation/paperclip_spec.rb +0 -14
  36. data/spec/fixtures/images/avatar.with.dots.jpeg +0 -0
  37. data/spec/fixtures/manifest.yml +0 -10
  38. data/vendor/assets/javascripts/retina.js +0 -113
@@ -1,138 +1,111 @@
1
1
  require 'spec_helper'
2
2
 
3
- ROOT = File.dirname(__FILE__)
4
-
5
- Paperclip::Attachment.default_options[:use_timestamp] = false
6
-
7
- class PaperclipUpload < ActiveRecord::Base
8
-
9
- retina!
10
-
11
- has_attached_file :avatar,
12
- :styles => {
13
- :original => ["800x800", :jpg],
14
- :big => ["125x125#", :jpg]
15
- },
16
- :retina => { :quality => 60 },
17
- :path => "#{ROOT}/:class/:id/:basename_:style.:extension",
18
- :url => "#{ROOT}/:class/:id/:basename_:style.:extension"
19
-
20
- has_attached_file :avatar_without_quality,
21
- :styles => {
22
- :original => ["800x800", :jpg],
23
- :big => ["125x125#", :jpg]
24
- },
25
- :retina => true,
26
- :path => "#{ROOT}/:class/:id/:basename_:style.:extension",
27
- :url => "#{ROOT}/:class/:id/:basename_:style.:extension"
28
-
29
- has_attached_file :avatar_string_styles,
30
- :styles => {
31
- :original => "800x800",
32
- :big => "125x125#"
33
- },
34
- :retina => true,
35
- :path => "#{ROOT}/:class/:id/:basename_:style.:extension",
36
- :url => "#{ROOT}/:class/:id/:basename_:style.:extension"
37
- end
38
-
39
3
  describe RetinaRails::Strategies::Paperclip do
40
4
 
41
- subject { PaperclipUpload }
42
-
43
- context 'overriding options' do
44
-
45
- it { subject.attachment_definitions[:avatar][:styles][:original_retina].should == ['1600x1600', :jpg] }
46
- it { subject.attachment_definitions[:avatar][:styles][:big_retina].should == ['250x250#', :jpg] }
47
-
48
- it { subject.attachment_definitions[:avatar][:path].should == "#{ROOT}/:class/:id/:basename_:style:retina.:extension" }
49
- it { subject.attachment_definitions[:avatar][:url].should == "#{ROOT}/:class/:id/:basename_:style:retina.:extension" }
50
-
51
- end
52
-
53
- context 'uploads' do
54
-
55
- subject { PaperclipUpload.create(:avatar => File.open("#{fixture_path}/images/avatar.jpeg")) }
56
-
57
- it { subject.avatar.url(:big).should == "#{ROOT}/paperclip_uploads/#{subject.id}/avatar_big.jpg" }
58
- it { subject.avatar.url(:big_retina).should == "#{ROOT}/paperclip_uploads/#{subject.id}/avatar_big@2x.jpg" }
59
-
60
- it { Paperclip::Geometry.from_file(subject.avatar.url(:big)).to_s.should == '125x125' }
61
- it { Paperclip::Geometry.from_file(subject.avatar.url(:big_retina)).to_s.should == '250x250' }
62
-
5
+ ##
6
+ # Store image so we can run tests against it
7
+ #
8
+ def upload!
9
+ @upload = PaperclipUpload.new(:avatar => File.open("#{fixture_path}/images/avatar.jpeg"))
10
+ @upload.save
63
11
  end
64
12
 
65
- context 'uploads with string styles' do
66
-
67
- subject { PaperclipUpload.create(:avatar_string_styles => File.open("#{fixture_path}/images/avatar.jpeg")) }
68
-
69
- it { subject.avatar_string_styles.url(:big).should == "#{ROOT}/paperclip_uploads/#{subject.id}/avatar_big.jpeg" }
70
- it { subject.avatar_string_styles.url(:big_retina).should == "#{ROOT}/paperclip_uploads/#{subject.id}/avatar_big@2x.jpeg" }
71
-
72
- it { Paperclip::Geometry.from_file(subject.avatar_string_styles.url(:big)).to_s.should == '125x125' }
73
- it { Paperclip::Geometry.from_file(subject.avatar_string_styles.url(:big_retina)).to_s.should == '250x250' }
74
-
13
+ ##
14
+ # Return image path so we can open image
15
+ #
16
+ def image_path
17
+ "#{File.dirname(__FILE__).gsub('spec/strategies', 'public')}#{@upload.avatar.url(:big)}"
75
18
  end
76
19
 
77
- context 'file without extension name' do
78
-
79
- let!(:stream) { FileStringIO.new('avatar', File.read("#{fixture_path}/images/avatar.jpeg")) }
80
- subject { PaperclipUpload.create(:avatar => stream) }
81
-
82
- it { subject.avatar.url(:big).should == "#{ROOT}/paperclip_uploads/#{subject.id}/avatar_big.jpg" }
83
- it { subject.avatar.url(:big_retina).should == "#{ROOT}/paperclip_uploads/#{subject.id}/avatar_big@2x.jpg" }
84
-
20
+ ##
21
+ # Make sure image get's destroyed after each test
22
+ #
23
+ after(:each) do
24
+ @upload.destroy if @upload
85
25
  end
86
26
 
87
- context 'with retina quality' do
27
+ context 'defaults' do
88
28
 
89
- subject { PaperclipUpload.create(:avatar => File.open("#{fixture_path}/images/avatar.jpeg")) }
90
-
91
- it { Magick::Image.read(subject.avatar.url(:big)).first.quality.should == 84 }
92
- it { Magick::Image.read(subject.avatar.url(:big_retina)).first.quality.should == 60 }
93
-
94
- end
29
+ before(:each) do
30
+ PaperclipUpload.class_eval do
31
+ has_attached_file :avatar,
32
+ :styles => {
33
+ :big => ["30x40#", :jpg],
34
+ :original => ["800x800", :jpg]
35
+ }
36
+ end
37
+ upload!
38
+ end
95
39
 
96
- context 'without retina quality' do
40
+ it 'should double the height and width of an image' do
41
+ Paperclip::Geometry.from_file(image_path).to_s.should == '60x80'
42
+ end
97
43
 
98
- subject { PaperclipUpload.create(:avatar_without_quality => File.open("#{fixture_path}/images/avatar.jpeg")) }
44
+ it 'should store original width and height attributes for version' do
45
+ @upload.retina_dimensions[:avatar][:big].should == { :width => 30, :height => 40 }
46
+ end
99
47
 
100
- it { Magick::Image.read(subject.avatar_without_quality.url(:big)).first.quality.should == 84 }
101
- it { Magick::Image.read(subject.avatar_without_quality.url(:big_retina)).first.quality.should == 40 }
48
+ it "should set quality to it's default 60%" do
49
+ quality = Magick::Image.read(image_path).first.quality
50
+ quality.should == 60
51
+ end
102
52
 
103
53
  end
104
54
 
105
- describe :optimize_path do
106
-
107
- subject { RetinaRails::Strategies::Paperclip::Uploader::Extensions }
108
-
109
- it { subject.optimize_path('/:filename').should == '/:basename:retina.:extension' }
55
+ context 'file without extension name' do
110
56
 
111
- it { subject.optimize_path('/:basename.:extension').should == '/:basename:retina.:extension' }
57
+ it 'should not fail' do
58
+ stream = FileStringIO.new('avatar', File.read("#{fixture_path}/images/avatar.jpeg"))
59
+ @upload = PaperclipUpload.create(:avatar => stream)
60
+ end
112
61
 
113
62
  end
114
63
 
115
- describe :override_default_options do
116
-
117
- context 'Paperclip default' do
64
+ context 'with string styles' do
118
65
 
119
- before { RetinaRails::Strategies::Paperclip::Uploader::Extensions.override_default_options }
66
+ before(:each) do
67
+ PaperclipUpload.class_eval do
68
+ has_attached_file :avatar,
69
+ :styles => {
70
+ :big => "30x40#",
71
+ :original => "800x800"
72
+ }
73
+ end
74
+ upload!
75
+ end
120
76
 
121
- it { Paperclip::Attachment.default_options[:url].should == '/system/:class/:attachment/:id_partition/:style/:basename:retina.:extension' }
77
+ it 'should double the height and width of an image' do
78
+ Paperclip::Geometry.from_file(image_path).to_s.should == '60x80'
79
+ end
122
80
 
81
+ it 'should store original width and height attributes for version' do
82
+ @upload.retina_dimensions[:avatar][:big].should == { :width => 30, :height => 40 }
123
83
  end
124
84
 
125
- context 'User defined paperclip default' do
85
+ it "should set quality to it's default 60%" do
86
+ quality = Magick::Image.read(image_path).first.quality
87
+ quality.should == 60
88
+ end
126
89
 
127
- before do
90
+ end
128
91
 
129
- Paperclip::Attachment.default_options[:url] = '/:class/:attachment/:id/:style/:basename.:extension'
130
- RetinaRails::Strategies::Paperclip::Uploader::Extensions.override_default_options
92
+ context 'override quality' do
131
93
 
94
+ before(:each) do
95
+ PaperclipUpload.class_eval do
96
+ has_attached_file :avatar,
97
+ :styles => {
98
+ :big => ["30x40#", :jpg],
99
+ :original => ["800x800", :jpg]
100
+ },
101
+ :retina => { :quality => 25 }
132
102
  end
103
+ upload!
104
+ end
133
105
 
134
- it { Paperclip::Attachment.default_options[:url].should == '/:class/:attachment/:id/:style/:basename:retina.:extension' }
135
-
106
+ it "should set quality" do
107
+ quality = Magick::Image.read(image_path).first.quality
108
+ quality.should == 25
136
109
  end
137
110
 
138
111
  end
@@ -0,0 +1,15 @@
1
+ class AnonymousUploader < CarrierWave::Uploader::Base
2
+
3
+ include CarrierWave::RMagick
4
+
5
+ retina!
6
+
7
+ end
8
+
9
+ class CarrierWaveUpload < ActiveRecord::Base
10
+
11
+ extend CarrierWave::Mount
12
+
13
+ mount_uploader :avatar, AnonymousUploader
14
+
15
+ end
@@ -1,4 +1,5 @@
1
1
  class FileStringIO < StringIO
2
+
2
3
  attr_accessor :filepath
3
4
 
4
5
  def initialize(*args)
@@ -9,4 +10,5 @@ class FileStringIO < StringIO
9
10
  def original_filename
10
11
  File.basename(@filepath)
11
12
  end
13
+
12
14
  end
@@ -0,0 +1,9 @@
1
+ class PaperclipUpload < ActiveRecord::Base
2
+
3
+ retina!
4
+
5
+ has_attached_file :avatar
6
+
7
+ validates_attachment :avatar, :presence => true, :content_type => { :content_type => ["image/jpg", "image/jpeg", "image/png"] }
8
+
9
+ end
@@ -6,17 +6,6 @@ module RetinaRailsTest
6
6
  class Application < Rails::Application
7
7
  config.active_support.deprecation = :log
8
8
 
9
- config.assets.manifest = Rails.root.join("spec/fixtures")
10
-
11
- ## Asset config
12
-
13
- config.assets.version = '1.0'
14
- config.serve_static_assets = false
15
- config.assets.enabled = true
16
- config.assets.compress = true
17
- config.assets.compile = false
18
- config.assets.digest = true
19
-
20
9
  if Rails::VERSION::STRING >= "4.0.0"
21
10
  config.secret_token = 'existing secret token'
22
11
  config.secret_key_base = 'new secret key base'
@@ -3,8 +3,14 @@ ActiveRecord::Schema.define do
3
3
 
4
4
  create_table :paperclip_uploads, :force => true do |t|
5
5
  t.string :avatar_file_name
6
- t.string :avatar_without_quality_file_name
7
- t.string :avatar_string_styles_file_name
6
+ t.string :avatar_content_type
7
+ t.text :retina_dimensions
8
+ t.timestamps
9
+ end
10
+
11
+ create_table :carrier_wave_uploads, :force => true do |t|
12
+ t.string :avatar
13
+ t.text :retina_dimensions
8
14
  t.timestamps
9
15
  end
10
16
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: retina_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johan van Zonneveld
@@ -9,157 +9,151 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-03 00:00:00.000000000 Z
12
+ date: 2014-04-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: 1.0.0
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: 1.0.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rspec
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '2.3'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '2.3'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rspec-rails
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '2.0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '2.0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: carrierwave
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: paperclip
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - <
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '4.0'
90
+ version: '0'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - <
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '4.0'
97
+ version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rmagick
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: sqlite3
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - '>='
116
+ - - ">="
117
117
  - !ruby/object:Gem::Version
118
118
  version: '0'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - '>='
123
+ - - ">="
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: coveralls
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - '>='
130
+ - - ">="
131
131
  - !ruby/object:Gem::Version
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - '>='
137
+ - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: rails
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - '>='
144
+ - - ">="
145
145
  - !ruby/object:Gem::Version
146
146
  version: 3.2.0
147
- - - <
148
- - !ruby/object:Gem::Version
149
- version: 4.0.0
150
147
  type: :runtime
151
148
  prerelease: false
152
149
  version_requirements: !ruby/object:Gem::Requirement
153
150
  requirements:
154
- - - '>='
151
+ - - ">="
155
152
  - !ruby/object:Gem::Version
156
153
  version: 3.2.0
157
- - - <
158
- - !ruby/object:Gem::Version
159
- version: 4.0.0
160
- description: Retina Rails automatically generates retina versions of your uploaded
161
- images (CarrierWave or Paperclip). It detects if a visitor has a retina display
162
- and if so it displays the @2x version
154
+ description: Retina Rails makes your application use high-resolution images by default.
155
+ It automatically optimizes uploaded images (CarrierWave or Paperclip) for retina
156
+ displays by making them twice the size and reducing the quality.
163
157
  email:
164
158
  - johan@vzonneveld.nl
165
159
  - mail@arjen.me
@@ -167,71 +161,78 @@ executables: []
167
161
  extensions: []
168
162
  extra_rdoc_files: []
169
163
  files:
170
- - .gitignore
171
- - .travis.yml
164
+ - ".gitignore"
165
+ - ".travis.yml"
172
166
  - Gemfile
173
167
  - LICENSE.txt
174
168
  - README.md
175
169
  - Rakefile
170
+ - UPGRADING
171
+ - UPGRADING.md
176
172
  - lib/retina_rails.rb
177
- - lib/retina_rails/deprecation/carrierwave.rb
178
- - lib/retina_rails/deprecation/paperclip.rb
179
- - lib/retina_rails/exception.rb
173
+ - lib/retina_rails/extensions.rb
174
+ - lib/retina_rails/extensions/carrierwave.rb
175
+ - lib/retina_rails/extensions/paperclip.rb
180
176
  - lib/retina_rails/helpers.rb
177
+ - lib/retina_rails/processors.rb
178
+ - lib/retina_rails/processors/carrierwave.rb
179
+ - lib/retina_rails/processors/paperclip.rb
181
180
  - lib/retina_rails/strategies.rb
182
181
  - lib/retina_rails/strategies/carrierwave.rb
183
182
  - lib/retina_rails/strategies/paperclip.rb
184
183
  - lib/retina_rails/version.rb
185
184
  - retina_rails.gemspec
186
- - spec/deprecation/carrierwave_spec.rb
187
- - spec/deprecation/paperclip_spec.rb
188
185
  - spec/fixtures/db/retina_rails.sqlite3
189
186
  - spec/fixtures/images/avatar.jpeg
190
- - spec/fixtures/images/avatar.with.dots.jpeg
191
- - spec/fixtures/manifest.yml
192
187
  - spec/helpers_spec.rb
193
188
  - spec/spec_helper.rb
194
189
  - spec/strategies/carrierwave_spec.rb
195
190
  - spec/strategies/paperclip_spec.rb
191
+ - spec/support/carrierwave.rb
196
192
  - spec/support/file_string_io.rb
193
+ - spec/support/paperclip.rb
197
194
  - spec/support/rails.rb
198
195
  - spec/support/schema.rb
199
- - vendor/assets/javascripts/retina.js
200
196
  homepage: https://github.com/jhnvz/retina_rails.git
201
197
  licenses:
202
198
  - MIT
203
199
  metadata: {}
204
- post_install_message:
200
+ post_install_message: |
201
+ ##################################################
202
+ # NOTE FOR UPGRADING FROM PRE-2.0 VERSION #
203
+ ##################################################
204
+
205
+ Retina Rails 2.0 introduces non-backward compatible changes.
206
+ Check https://github.com/jhnvz/retina_rails/blob/master/UPGRADING.md
207
+ for more details.
205
208
  rdoc_options: []
206
209
  require_paths:
207
210
  - lib
208
211
  required_ruby_version: !ruby/object:Gem::Requirement
209
212
  requirements:
210
- - - '>='
213
+ - - ">="
211
214
  - !ruby/object:Gem::Version
212
215
  version: '0'
213
216
  required_rubygems_version: !ruby/object:Gem::Requirement
214
217
  requirements:
215
- - - '>='
218
+ - - ">="
216
219
  - !ruby/object:Gem::Version
217
220
  version: '0'
218
221
  requirements: []
219
222
  rubyforge_project:
220
- rubygems_version: 2.2.0
223
+ rubygems_version: 2.2.2
221
224
  signing_key:
222
225
  specification_version: 4
223
- summary: Makes your life easier optimizing for retina displays
226
+ summary: Makes your life easier optimizing your application for retina displays
224
227
  test_files:
225
- - spec/deprecation/carrierwave_spec.rb
226
- - spec/deprecation/paperclip_spec.rb
227
228
  - spec/fixtures/db/retina_rails.sqlite3
228
229
  - spec/fixtures/images/avatar.jpeg
229
- - spec/fixtures/images/avatar.with.dots.jpeg
230
- - spec/fixtures/manifest.yml
231
230
  - spec/helpers_spec.rb
232
231
  - spec/spec_helper.rb
233
232
  - spec/strategies/carrierwave_spec.rb
234
233
  - spec/strategies/paperclip_spec.rb
234
+ - spec/support/carrierwave.rb
235
235
  - spec/support/file_string_io.rb
236
+ - spec/support/paperclip.rb
236
237
  - spec/support/rails.rb
237
238
  - spec/support/schema.rb