paperclip-globalize3 2.3.0 → 3.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +44 -0
- data/.rubocop_todo.yml +35 -0
- data/.travis.yml +13 -7
- data/.yardopts +5 -0
- data/Appraisals +44 -12
- data/CHANGELOG.md +31 -0
- data/README.md +7 -7
- data/Rakefile +3 -3
- data/gemfiles/rails_4.2_pc_4_2.gemfile +4 -4
- data/gemfiles/rails_4.2_pc_4_3.gemfile +8 -0
- data/gemfiles/rails_4.2_pc_5_0.gemfile +8 -0
- data/gemfiles/rails_4.2_pc_5_2.gemfile +8 -0
- data/gemfiles/rails_5.0_pc_4_2.gemfile +8 -0
- data/gemfiles/rails_5.0_pc_5_0.gemfile +8 -0
- data/gemfiles/rails_5.0_pc_5_2.gemfile +8 -0
- data/gemfiles/rails_5.1_pc_4_2.gemfile +8 -0
- data/gemfiles/rails_5.1_pc_5_0.gemfile +8 -0
- data/gemfiles/rails_5.1_pc_5_2.gemfile +8 -0
- data/lib/paperclip/globalize3/attachment.rb +74 -119
- data/lib/paperclip/globalize3/gem_helper.rb +1 -4
- data/lib/paperclip/globalize3/version.rb +1 -1
- data/lib/{paperclip-globalize3.rb → paperclip/globalize3.rb} +6 -10
- data/paperclip-globalize3.gemspec +25 -19
- data/spec/data/models.rb +8 -9
- data/spec/data/schema.rb +4 -5
- data/spec/paperclip/globalize3/attachment_spec.rb +198 -0
- data/spec/spec_helper.rb +55 -23
- metadata +106 -40
- data/gemfiles/rails_4.0_pc_4_1.gemfile +0 -8
- data/gemfiles/rails_4.0_pc_4_2.gemfile +0 -8
- data/gemfiles/rails_4.2_pc_4_1.gemfile +0 -8
- data/spec/attachment_helper_spec.rb +0 -151
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paperclip-globalize3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maximilian Herold
|
@@ -16,98 +16,126 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '4.
|
19
|
+
version: '4.2'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '5.
|
22
|
+
version: '5.2'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '4.
|
29
|
+
version: '4.2'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '5.
|
32
|
+
version: '5.2'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: globalize
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 5.0.0
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 5.0.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: paperclip
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '4.2'
|
54
|
+
- - "<"
|
52
55
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
56
|
+
version: '5.3'
|
54
57
|
type: :runtime
|
55
58
|
prerelease: false
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
60
|
requirements:
|
58
|
-
- - "
|
61
|
+
- - ">="
|
59
62
|
- !ruby/object:Gem::Version
|
60
|
-
version: '4.
|
63
|
+
version: '4.2'
|
64
|
+
- - "<"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '5.3'
|
61
67
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
68
|
+
name: appraisal
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
64
70
|
requirements:
|
65
71
|
- - "~>"
|
66
72
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
73
|
+
version: '2.2'
|
68
74
|
type: :development
|
69
75
|
prerelease: false
|
70
76
|
version_requirements: !ruby/object:Gem::Requirement
|
71
77
|
requirements:
|
72
78
|
- - "~>"
|
73
79
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
80
|
+
version: '2.2'
|
75
81
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
82
|
+
name: bundler
|
77
83
|
requirement: !ruby/object:Gem::Requirement
|
78
84
|
requirements:
|
79
85
|
- - "~>"
|
80
86
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
87
|
+
version: '1.13'
|
82
88
|
type: :development
|
83
89
|
prerelease: false
|
84
90
|
version_requirements: !ruby/object:Gem::Requirement
|
85
91
|
requirements:
|
86
92
|
- - "~>"
|
87
93
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
94
|
+
version: '1.13'
|
89
95
|
- !ruby/object:Gem::Dependency
|
90
|
-
name:
|
96
|
+
name: database_cleaner
|
91
97
|
requirement: !ruby/object:Gem::Requirement
|
92
98
|
requirements:
|
93
|
-
- - "
|
99
|
+
- - ">="
|
94
100
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
96
|
-
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: rake
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
97
114
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
115
|
+
version: '0'
|
99
116
|
type: :development
|
100
117
|
prerelease: false
|
101
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: rspec
|
125
|
+
requirement: !ruby/object:Gem::Requirement
|
102
126
|
requirements:
|
103
127
|
- - "~>"
|
104
128
|
- !ruby/object:Gem::Version
|
105
|
-
version:
|
106
|
-
|
129
|
+
version: '3.7'
|
130
|
+
type: :development
|
131
|
+
prerelease: false
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - "~>"
|
107
135
|
- !ruby/object:Gem::Version
|
108
|
-
version: '
|
136
|
+
version: '3.7'
|
109
137
|
- !ruby/object:Gem::Dependency
|
110
|
-
name:
|
138
|
+
name: rubocop
|
111
139
|
requirement: !ruby/object:Gem::Requirement
|
112
140
|
requirements:
|
113
141
|
- - ">="
|
@@ -121,33 +149,61 @@ dependencies:
|
|
121
149
|
- !ruby/object:Gem::Version
|
122
150
|
version: '0'
|
123
151
|
- !ruby/object:Gem::Dependency
|
124
|
-
name:
|
152
|
+
name: rubocop-rspec
|
125
153
|
requirement: !ruby/object:Gem::Requirement
|
126
154
|
requirements:
|
127
|
-
- - "
|
155
|
+
- - ">="
|
128
156
|
- !ruby/object:Gem::Version
|
129
|
-
version: '
|
157
|
+
version: '0'
|
130
158
|
type: :development
|
131
159
|
prerelease: false
|
132
160
|
version_requirements: !ruby/object:Gem::Requirement
|
133
161
|
requirements:
|
134
|
-
- - "
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '0'
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: sqlite3
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0'
|
172
|
+
type: :development
|
173
|
+
prerelease: false
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
135
177
|
- !ruby/object:Gem::Version
|
136
|
-
version: '
|
178
|
+
version: '0'
|
137
179
|
- !ruby/object:Gem::Dependency
|
138
180
|
name: wwtd
|
139
181
|
requirement: !ruby/object:Gem::Requirement
|
140
182
|
requirements:
|
141
183
|
- - "~>"
|
142
184
|
- !ruby/object:Gem::Version
|
143
|
-
version: '
|
185
|
+
version: '1.3'
|
144
186
|
type: :development
|
145
187
|
prerelease: false
|
146
188
|
version_requirements: !ruby/object:Gem::Requirement
|
147
189
|
requirements:
|
148
190
|
- - "~>"
|
149
191
|
- !ruby/object:Gem::Version
|
150
|
-
version: '
|
192
|
+
version: '1.3'
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: yard
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0'
|
200
|
+
type: :development
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - ">="
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
151
207
|
description: locale-specific attachments with paperclip and globalize
|
152
208
|
email:
|
153
209
|
- herold@emjot.de
|
@@ -157,27 +213,37 @@ extra_rdoc_files: []
|
|
157
213
|
files:
|
158
214
|
- ".gitignore"
|
159
215
|
- ".rspec"
|
216
|
+
- ".rubocop.yml"
|
217
|
+
- ".rubocop_todo.yml"
|
160
218
|
- ".travis.yml"
|
219
|
+
- ".yardopts"
|
161
220
|
- Appraisals
|
221
|
+
- CHANGELOG.md
|
162
222
|
- Gemfile
|
163
223
|
- LICENSE.txt
|
164
224
|
- README.md
|
165
225
|
- Rakefile
|
166
|
-
- gemfiles/rails_4.0_pc_4_1.gemfile
|
167
|
-
- gemfiles/rails_4.0_pc_4_2.gemfile
|
168
|
-
- gemfiles/rails_4.2_pc_4_1.gemfile
|
169
226
|
- gemfiles/rails_4.2_pc_4_2.gemfile
|
170
|
-
-
|
227
|
+
- gemfiles/rails_4.2_pc_4_3.gemfile
|
228
|
+
- gemfiles/rails_4.2_pc_5_0.gemfile
|
229
|
+
- gemfiles/rails_4.2_pc_5_2.gemfile
|
230
|
+
- gemfiles/rails_5.0_pc_4_2.gemfile
|
231
|
+
- gemfiles/rails_5.0_pc_5_0.gemfile
|
232
|
+
- gemfiles/rails_5.0_pc_5_2.gemfile
|
233
|
+
- gemfiles/rails_5.1_pc_4_2.gemfile
|
234
|
+
- gemfiles/rails_5.1_pc_5_0.gemfile
|
235
|
+
- gemfiles/rails_5.1_pc_5_2.gemfile
|
236
|
+
- lib/paperclip/globalize3.rb
|
171
237
|
- lib/paperclip/globalize3/attachment.rb
|
172
238
|
- lib/paperclip/globalize3/gem_helper.rb
|
173
239
|
- lib/paperclip/globalize3/gem_tasks.rb
|
174
240
|
- lib/paperclip/globalize3/version.rb
|
175
241
|
- paperclip-globalize3.gemspec
|
176
|
-
- spec/attachment_helper_spec.rb
|
177
242
|
- spec/data/models.rb
|
178
243
|
- spec/data/schema.rb
|
179
244
|
- spec/data/test.png
|
180
245
|
- spec/data/test2.png
|
246
|
+
- spec/paperclip/globalize3/attachment_spec.rb
|
181
247
|
- spec/spec_helper.rb
|
182
248
|
homepage: https://github.com/emjot/paperclip-globalize3
|
183
249
|
licenses:
|
@@ -191,7 +257,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
191
257
|
requirements:
|
192
258
|
- - ">="
|
193
259
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
260
|
+
version: 2.2.2
|
195
261
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
196
262
|
requirements:
|
197
263
|
- - ">="
|
@@ -204,9 +270,9 @@ signing_key:
|
|
204
270
|
specification_version: 4
|
205
271
|
summary: locale-specific attachments with paperclip and globalize
|
206
272
|
test_files:
|
207
|
-
- spec/attachment_helper_spec.rb
|
208
273
|
- spec/data/models.rb
|
209
274
|
- spec/data/schema.rb
|
210
275
|
- spec/data/test.png
|
211
276
|
- spec/data/test2.png
|
277
|
+
- spec/paperclip/globalize3/attachment_spec.rb
|
212
278
|
- spec/spec_helper.rb
|
@@ -1,151 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
|
4
|
-
describe 'Paperclip::Globalize3::Attachment' do
|
5
|
-
|
6
|
-
before(:each) do
|
7
|
-
stub_const('Rails', double('Rails'))
|
8
|
-
Rails.stub(:root).and_return(ROOT.join('tmp'))
|
9
|
-
Rails.stub(:env).and_return('test')
|
10
|
-
Rails.stub(:const_defined?).with(:Railtie).and_return(false)
|
11
|
-
end
|
12
|
-
|
13
|
-
let (:test_image_dir) do
|
14
|
-
File.expand_path(File.join(File.dirname(__FILE__), 'data'))
|
15
|
-
end
|
16
|
-
|
17
|
-
let(:test_image_file) do
|
18
|
-
File.new(File.join(test_image_dir,'test.png'))
|
19
|
-
end
|
20
|
-
|
21
|
-
let(:test_image_file2) do
|
22
|
-
File.new(File.join(test_image_dir, 'test2.png'))
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'with translations' do
|
26
|
-
|
27
|
-
it 'saves different images for different locales' do
|
28
|
-
p = Post.create
|
29
|
-
Globalize.with_locale(:en) do
|
30
|
-
p.image_file_name.should be_nil
|
31
|
-
p.update_attributes!(:image => test_image_file)
|
32
|
-
p.image_file_name.should == "test.png"
|
33
|
-
end
|
34
|
-
Post.count.should == 1
|
35
|
-
Post.translation_class.count.should == 1
|
36
|
-
|
37
|
-
Globalize.with_locale(:de) do
|
38
|
-
p.image_file_name.should be_nil
|
39
|
-
p.update_attributes!(:image => test_image_file2)
|
40
|
-
p.image_file_name.should == "test2.png"
|
41
|
-
end
|
42
|
-
Globalize.with_locale(:en) do
|
43
|
-
p.image_file_name.should == "test.png"
|
44
|
-
end
|
45
|
-
Post.count.should == 1
|
46
|
-
Post.translation_class.count.should == 2
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'only overwrites the image file for the current locale on re-assign' do
|
50
|
-
p = Post.create
|
51
|
-
path_en = Globalize.with_locale(:en) do
|
52
|
-
p.update_attributes!(:image => test_image_file)
|
53
|
-
p.image.path
|
54
|
-
end
|
55
|
-
path_de = Globalize.with_locale(:de) do
|
56
|
-
p.update_attributes!(:image => test_image_file2)
|
57
|
-
p.image.path
|
58
|
-
end
|
59
|
-
File.exist?(path_en).should be_true
|
60
|
-
File.exist?(path_de).should be_true
|
61
|
-
|
62
|
-
# re-assign 'en' image (use different image)
|
63
|
-
path_en2 = Globalize.with_locale(:en) do
|
64
|
-
p.update_attributes!(:image => test_image_file2)
|
65
|
-
p.image.path
|
66
|
-
end
|
67
|
-
[path_en, path_en2, path_de].uniq.size.should == 3 # paths should all be different
|
68
|
-
File.exist?(path_en).should be_false
|
69
|
-
File.exist?(path_en2).should be_true
|
70
|
-
File.exist?(path_de).should be_true
|
71
|
-
end
|
72
|
-
|
73
|
-
it 'deletes image files in all locales on destroy' do
|
74
|
-
p = Post.create
|
75
|
-
path_en = Globalize.with_locale(:en) do
|
76
|
-
p.update_attributes!(:image => test_image_file)
|
77
|
-
p.image.path
|
78
|
-
end
|
79
|
-
path_de = Globalize.with_locale(:de) do
|
80
|
-
p.update_attributes!(:image => test_image_file)
|
81
|
-
p.image.path
|
82
|
-
end
|
83
|
-
File.exist?(path_en).should be_true
|
84
|
-
File.exist?(path_de).should be_true
|
85
|
-
|
86
|
-
p.destroy
|
87
|
-
File.exist?(path_en).should be_false
|
88
|
-
File.exist?(path_de).should be_false
|
89
|
-
end
|
90
|
-
|
91
|
-
context 'with :only_process' do
|
92
|
-
|
93
|
-
it 'only clears the provided style in the current locale on assign' do
|
94
|
-
p = OnlyProcessPost.create
|
95
|
-
p.image.should_receive(:queue_some_for_delete).with(:thumb, :locales => :en)
|
96
|
-
p.image.should_not_receive(:queue_all_for_delete)
|
97
|
-
|
98
|
-
Globalize.with_locale(:en) do
|
99
|
-
p.update_attributes!(:image => test_image_file)
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
|
107
|
-
context 'without translations' do
|
108
|
-
|
109
|
-
it 'deletes image files on destroy' do
|
110
|
-
p = Untranslated.create
|
111
|
-
p.update_attributes!(:image => test_image_file)
|
112
|
-
path = p.image.path
|
113
|
-
File.exist?(path).should be_true
|
114
|
-
|
115
|
-
p.destroy
|
116
|
-
File.exist?(path).should be_false
|
117
|
-
end
|
118
|
-
|
119
|
-
end
|
120
|
-
|
121
|
-
context 'with fallbacks' do
|
122
|
-
around :each do |example|
|
123
|
-
old_fallbacks = Globalize.fallbacks
|
124
|
-
Globalize.fallbacks = {en: [:en, :de], de: [:de, :en]}
|
125
|
-
example.run
|
126
|
-
Globalize.fallbacks = old_fallbacks
|
127
|
-
end
|
128
|
-
|
129
|
-
it 'interpolates the correct locale if fallback is used' do
|
130
|
-
p = nil
|
131
|
-
Globalize.with_locale(:en) { p = Post.new( image: test_image_file); p.save! }
|
132
|
-
Globalize.with_locale(:de) { expect(p.image.url).to match('/en/') }
|
133
|
-
end
|
134
|
-
|
135
|
-
it 'preserves attachments when a new translation is created' do
|
136
|
-
p = nil
|
137
|
-
Globalize.with_locale(:de) do
|
138
|
-
p = Post.new(image: test_image_file)
|
139
|
-
p.save!
|
140
|
-
end
|
141
|
-
Globalize.with_locale(:en) do
|
142
|
-
p.image = test_image_file
|
143
|
-
p.save!
|
144
|
-
end
|
145
|
-
|
146
|
-
Globalize.with_locale(:en) { expect(File.exists?(p.image.path)).to be_true }
|
147
|
-
Globalize.with_locale(:de) { expect(File.exists?(p.image.path)).to be_true }
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
end
|