paperclip_duplicate_check 1.0.0 → 1.0.2

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 362fcaae3d0e6abc87514b4b7a3edfb64b6055609006babd10228ced8eef8be1
4
+ data.tar.gz: fd5231be1c428822301a56e50ee029db2697b61b65eab91cbedef2569c321930
5
+ SHA512:
6
+ metadata.gz: 1028b5a12097bec75db34e33e40eccc5f63251d19064a3fd47c1e742caaa025e1489f8151e8668a4d3a097b245fd123e759a52cb8d266df75393cbd1c4e9853c
7
+ data.tar.gz: 6817d16fd8671a6cf352614f694af8c6499fdd7329c571ace609a25bbb8f54a6757a8442a46134b14c73cd4d4b31c15b3b74af87ba41c49bfe0b54d844fa88c1
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ paperclip_dup
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.4.2
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'paperclip'
4
4
 
@@ -6,7 +6,7 @@ group :development do
6
6
  # TESTS
7
7
  gem 'rspec'
8
8
  gem 'sqlite3'
9
- gem 'rails'
9
+ gem 'rails', '>= 5.0'
10
10
 
11
11
  # DOCS
12
12
  gem 'yard'
@@ -14,5 +14,5 @@ group :development do
14
14
 
15
15
  # DEVELOPMENT
16
16
  gem 'bundler'
17
- gem 'jeweler'
17
+ gem 'juwelier'
18
18
  end
data/Gemfile.lock CHANGED
@@ -1,117 +1,191 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
- actionmailer (3.2.3)
5
- actionpack (= 3.2.3)
6
- mail (~> 2.4.4)
7
- actionpack (3.2.3)
8
- activemodel (= 3.2.3)
9
- activesupport (= 3.2.3)
10
- builder (~> 3.0.0)
11
- erubis (~> 2.7.0)
12
- journey (~> 1.0.1)
13
- rack (~> 1.4.0)
14
- rack-cache (~> 1.2)
15
- rack-test (~> 0.6.1)
16
- sprockets (~> 2.1.2)
17
- activemodel (3.2.3)
18
- activesupport (= 3.2.3)
19
- builder (~> 3.0.0)
20
- activerecord (3.2.3)
21
- activemodel (= 3.2.3)
22
- activesupport (= 3.2.3)
23
- arel (~> 3.0.2)
24
- tzinfo (~> 0.3.29)
25
- activeresource (3.2.3)
26
- activemodel (= 3.2.3)
27
- activesupport (= 3.2.3)
28
- activesupport (3.2.3)
29
- i18n (~> 0.6)
30
- multi_json (~> 1.0)
31
- arel (3.0.2)
32
- builder (3.0.0)
33
- cocaine (0.2.1)
34
- diff-lcs (1.1.3)
35
- erubis (2.7.0)
36
- git (1.2.5)
37
- hike (1.2.1)
38
- i18n (0.6.0)
39
- jeweler (1.8.3)
40
- bundler (~> 1.0)
41
- git (>= 1.2.5)
4
+ actioncable (5.1.4)
5
+ actionpack (= 5.1.4)
6
+ nio4r (~> 2.0)
7
+ websocket-driver (~> 0.6.1)
8
+ actionmailer (5.1.4)
9
+ actionpack (= 5.1.4)
10
+ actionview (= 5.1.4)
11
+ activejob (= 5.1.4)
12
+ mail (~> 2.5, >= 2.5.4)
13
+ rails-dom-testing (~> 2.0)
14
+ actionpack (5.1.4)
15
+ actionview (= 5.1.4)
16
+ activesupport (= 5.1.4)
17
+ rack (~> 2.0)
18
+ rack-test (>= 0.6.3)
19
+ rails-dom-testing (~> 2.0)
20
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
21
+ actionview (5.1.4)
22
+ activesupport (= 5.1.4)
23
+ builder (~> 3.1)
24
+ erubi (~> 1.4)
25
+ rails-dom-testing (~> 2.0)
26
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
27
+ activejob (5.1.4)
28
+ activesupport (= 5.1.4)
29
+ globalid (>= 0.3.6)
30
+ activemodel (5.1.4)
31
+ activesupport (= 5.1.4)
32
+ activerecord (5.1.4)
33
+ activemodel (= 5.1.4)
34
+ activesupport (= 5.1.4)
35
+ arel (~> 8.0)
36
+ activesupport (5.1.4)
37
+ concurrent-ruby (~> 1.0, >= 1.0.2)
38
+ i18n (~> 0.7)
39
+ minitest (~> 5.1)
40
+ tzinfo (~> 1.1)
41
+ addressable (2.5.2)
42
+ public_suffix (>= 2.0.2, < 4.0)
43
+ arel (8.0.0)
44
+ builder (3.2.3)
45
+ climate_control (0.2.0)
46
+ cocaine (0.5.8)
47
+ climate_control (>= 0.0.3, < 1.0)
48
+ concurrent-ruby (1.0.5)
49
+ crass (1.0.3)
50
+ descendants_tracker (0.0.4)
51
+ thread_safe (~> 0.3, >= 0.3.1)
52
+ diff-lcs (1.3)
53
+ erubi (1.7.0)
54
+ faraday (0.12.2)
55
+ multipart-post (>= 1.2, < 3)
56
+ git (1.3.0)
57
+ github_api (0.18.2)
58
+ addressable (~> 2.4)
59
+ descendants_tracker (~> 0.0.4)
60
+ faraday (~> 0.8)
61
+ hashie (~> 3.5, >= 3.5.2)
62
+ oauth2 (~> 1.0)
63
+ globalid (0.4.1)
64
+ activesupport (>= 4.2.0)
65
+ hashie (3.5.6)
66
+ highline (1.7.10)
67
+ i18n (0.9.1)
68
+ concurrent-ruby (~> 1.0)
69
+ juwelier (2.4.7)
70
+ builder
71
+ bundler
72
+ git
73
+ github_api
74
+ highline
75
+ kamelcase (~> 0)
76
+ nokogiri
77
+ psych
42
78
  rake
43
79
  rdoc
44
- journey (1.0.3)
45
- json (1.6.6)
46
- mail (2.4.4)
47
- i18n (>= 0.4.0)
48
- mime-types (~> 1.16)
49
- treetop (~> 1.4.8)
50
- mime-types (1.18)
51
- multi_json (1.3.2)
52
- paperclip (3.0.2)
53
- activemodel (>= 3.0.0)
54
- activerecord (>= 3.0.0)
55
- activesupport (>= 3.0.0)
56
- cocaine (>= 0.0.2)
80
+ semver2
81
+ jwt (1.5.6)
82
+ kamelcase (0.0.1)
83
+ semver2 (~> 3)
84
+ loofah (2.1.1)
85
+ crass (~> 1.0.2)
86
+ nokogiri (>= 1.5.9)
87
+ mail (2.7.0)
88
+ mini_mime (>= 0.1.1)
89
+ method_source (0.9.0)
90
+ mime-types (3.1)
91
+ mime-types-data (~> 3.2015)
92
+ mime-types-data (3.2016.0521)
93
+ mimemagic (0.3.2)
94
+ mini_mime (1.0.0)
95
+ mini_portile2 (2.3.0)
96
+ minitest (5.10.3)
97
+ multi_json (1.12.2)
98
+ multi_xml (0.6.0)
99
+ multipart-post (2.0.0)
100
+ nio4r (2.1.0)
101
+ nokogiri (1.8.1)
102
+ mini_portile2 (~> 2.3.0)
103
+ oauth2 (1.4.0)
104
+ faraday (>= 0.8, < 0.13)
105
+ jwt (~> 1.0)
106
+ multi_json (~> 1.3)
107
+ multi_xml (~> 0.5)
108
+ rack (>= 1.2, < 3)
109
+ paperclip (5.1.0)
110
+ activemodel (>= 4.2.0)
111
+ activesupport (>= 4.2.0)
112
+ cocaine (~> 0.5.5)
57
113
  mime-types
58
- polyglot (0.3.3)
59
- rack (1.4.1)
60
- rack-cache (1.2)
61
- rack (>= 0.4)
62
- rack-ssl (1.3.2)
63
- rack
64
- rack-test (0.6.1)
65
- rack (>= 1.0)
66
- rails (3.2.3)
67
- actionmailer (= 3.2.3)
68
- actionpack (= 3.2.3)
69
- activerecord (= 3.2.3)
70
- activeresource (= 3.2.3)
71
- activesupport (= 3.2.3)
72
- bundler (~> 1.0)
73
- railties (= 3.2.3)
74
- railties (3.2.3)
75
- actionpack (= 3.2.3)
76
- activesupport (= 3.2.3)
77
- rack-ssl (~> 1.3.2)
114
+ mimemagic (~> 0.3.0)
115
+ psych (3.0.1)
116
+ public_suffix (3.0.1)
117
+ rack (2.0.3)
118
+ rack-test (0.8.2)
119
+ rack (>= 1.0, < 3)
120
+ rails (5.1.4)
121
+ actioncable (= 5.1.4)
122
+ actionmailer (= 5.1.4)
123
+ actionpack (= 5.1.4)
124
+ actionview (= 5.1.4)
125
+ activejob (= 5.1.4)
126
+ activemodel (= 5.1.4)
127
+ activerecord (= 5.1.4)
128
+ activesupport (= 5.1.4)
129
+ bundler (>= 1.3.0)
130
+ railties (= 5.1.4)
131
+ sprockets-rails (>= 2.0.0)
132
+ rails-dom-testing (2.0.3)
133
+ activesupport (>= 4.2.0)
134
+ nokogiri (>= 1.6)
135
+ rails-html-sanitizer (1.0.3)
136
+ loofah (~> 2.0)
137
+ railties (5.1.4)
138
+ actionpack (= 5.1.4)
139
+ activesupport (= 5.1.4)
140
+ method_source
78
141
  rake (>= 0.8.7)
79
- rdoc (~> 3.4)
80
- thor (~> 0.14.6)
81
- rake (0.9.2.2)
82
- rdoc (3.12)
83
- json (~> 1.4)
84
- redcarpet (2.1.1)
85
- rspec (2.9.0)
86
- rspec-core (~> 2.9.0)
87
- rspec-expectations (~> 2.9.0)
88
- rspec-mocks (~> 2.9.0)
89
- rspec-core (2.9.0)
90
- rspec-expectations (2.9.1)
91
- diff-lcs (~> 1.1.3)
92
- rspec-mocks (2.9.0)
93
- sprockets (2.1.2)
94
- hike (~> 1.2)
95
- rack (~> 1.0)
96
- tilt (~> 1.1, != 1.3.0)
97
- sqlite3 (1.3.6)
98
- thor (0.14.6)
99
- tilt (1.3.3)
100
- treetop (1.4.10)
101
- polyglot
102
- polyglot (>= 0.3.1)
103
- tzinfo (0.3.33)
104
- yard (0.7.5)
142
+ thor (>= 0.18.1, < 2.0)
143
+ rake (12.3.0)
144
+ rdoc (6.0.0)
145
+ redcarpet (3.4.0)
146
+ rspec (3.7.0)
147
+ rspec-core (~> 3.7.0)
148
+ rspec-expectations (~> 3.7.0)
149
+ rspec-mocks (~> 3.7.0)
150
+ rspec-core (3.7.0)
151
+ rspec-support (~> 3.7.0)
152
+ rspec-expectations (3.7.0)
153
+ diff-lcs (>= 1.2.0, < 2.0)
154
+ rspec-support (~> 3.7.0)
155
+ rspec-mocks (3.7.0)
156
+ diff-lcs (>= 1.2.0, < 2.0)
157
+ rspec-support (~> 3.7.0)
158
+ rspec-support (3.7.0)
159
+ semver2 (3.4.2)
160
+ sprockets (3.7.1)
161
+ concurrent-ruby (~> 1.0)
162
+ rack (> 1, < 3)
163
+ sprockets-rails (3.2.1)
164
+ actionpack (>= 4.0)
165
+ activesupport (>= 4.0)
166
+ sprockets (>= 3.0.0)
167
+ sqlite3 (1.3.13)
168
+ thor (0.20.0)
169
+ thread_safe (0.3.6)
170
+ tzinfo (1.2.4)
171
+ thread_safe (~> 0.1)
172
+ websocket-driver (0.6.5)
173
+ websocket-extensions (>= 0.1.0)
174
+ websocket-extensions (0.1.3)
175
+ yard (0.9.12)
105
176
 
106
177
  PLATFORMS
107
178
  ruby
108
179
 
109
180
  DEPENDENCIES
110
181
  bundler
111
- jeweler
182
+ juwelier
112
183
  paperclip
113
- rails
184
+ rails (>= 5.0)
114
185
  redcarpet
115
186
  rspec
116
187
  sqlite3
117
188
  yard
189
+
190
+ BUNDLED WITH
191
+ 1.16.0
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ > ⚠️ **DEPRECATED**: paperclip_duplicate_check is no longer maintained. Paperclip itself has been deprecated upstream in favor of ActiveStorage; for duplicate detection on ActiveStorage attachments, use checksums directly. This is the final release.
2
+
1
3
  Paperclip Duplicate Checker
2
4
  ===========================
3
5
 
data/Rakefile CHANGED
@@ -11,8 +11,8 @@ rescue Bundler::BundlerError => e
11
11
  end
12
12
  require 'rake'
13
13
 
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
14
+ require 'juwelier'
15
+ Juwelier::Tasks.new do |gem|
16
16
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
17
  gem.name = "paperclip_duplicate_check"
18
18
  gem.homepage = "http://github.com/RISCfuture/paperclip_duplicate_check"
@@ -23,7 +23,7 @@ Jeweler::Tasks.new do |gem|
23
23
  gem.authors = ["Tim Morgan"]
24
24
  # dependencies defined in Gemfile
25
25
  end
26
- Jeweler::RubygemsDotOrgTasks.new
26
+ Juwelier::RubygemsDotOrgTasks.new
27
27
 
28
28
  require 'rspec/core'
29
29
  require 'rspec/core/rake_task'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.2
@@ -19,11 +19,13 @@ module CheckForDuplicateAttachedFile
19
19
  # @param [Symbol] name An attachment name.
20
20
 
21
21
  def check_for_duplicate_attached_file(*names)
22
+ extensions = Module.new
23
+
22
24
  names.each do |name|
23
- define_method :"#{name}_with_dup_check=" do |file|
25
+ extensions.send :define_method, :"#{name}=" do |file|
24
26
  attachment = send(name)
25
27
  old_fingerprint = attachment.fingerprint
26
- send :"#{name}_without_dup_check=", file
28
+ super(file)
27
29
  if attachment.fingerprint == old_fingerprint then
28
30
  # restore to saved state
29
31
  attachment.instance_variable_set :@queued_for_delete, []
@@ -32,8 +34,9 @@ module CheckForDuplicateAttachedFile
32
34
  attachment.instance_variable_set :@dirty, false
33
35
  end
34
36
  end
35
- alias_method_chain :"#{name}=", :dup_check
36
37
  end
38
+
39
+ prepend extensions
37
40
  end
38
41
  end
39
42
  end
@@ -1,74 +1,86 @@
1
- # Generated by jeweler
1
+ # Generated by juwelier
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
3
+ # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: paperclip_duplicate_check 1.0.2 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
- s.name = "paperclip_duplicate_check"
8
- s.version = "1.0.0"
8
+ s.name = "paperclip_duplicate_check".freeze
9
+ s.version = "1.0.2"
9
10
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Tim Morgan"]
12
- s.date = "2012-04-21"
13
- s.description = "TODO: longer description of your gem"
14
- s.email = "tim@squareup.com"
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib".freeze]
13
+ s.authors = ["Tim Morgan".freeze]
14
+ s.date = "2016-07-04"
15
+ s.description = "This gem adds a mixin allowing you to forgo uploading a replacement Paperclip attachment if it's identical to the current attachment.".freeze
16
+ s.email = "git@timothymorgan.info".freeze
15
17
  s.extra_rdoc_files = [
16
18
  "LICENSE.txt",
17
- "README.rdoc"
19
+ "README.md"
18
20
  ]
19
21
  s.files = [
20
22
  ".document",
21
23
  ".rspec",
22
- ".rvmrc",
24
+ ".ruby-gemset",
25
+ ".ruby-version",
23
26
  "Gemfile",
24
27
  "Gemfile.lock",
25
28
  "LICENSE.txt",
26
- "README.rdoc",
29
+ "README.md",
27
30
  "Rakefile",
28
31
  "VERSION",
29
32
  "lib/paperclip_duplicate_check.rb",
33
+ "paperclip_duplicate_check.gemspec",
30
34
  "spec/fixtures/image.jpg",
31
35
  "spec/fixtures/image2.png",
32
36
  "spec/paperclip_duplicate_check_spec.rb",
33
37
  "spec/spec_helper.rb"
34
38
  ]
35
- s.homepage = "http://github.com/RISCfuture/paperclip_duplicate_check"
36
- s.licenses = ["MIT"]
37
- s.require_paths = ["lib"]
38
- s.rubygems_version = "1.8.23"
39
- s.summary = "TODO: one-line summary of your gem"
39
+ s.homepage = "http://github.com/RISCfuture/paperclip_duplicate_check".freeze
40
+ s.licenses = ["MIT".freeze]
41
+ s.rubygems_version = "2.6.6".freeze
42
+ s.summary = "[DEPRECATED] Skips uploading a Paperclip attachment if it's identical to the one already uploaded".freeze
43
+ s.post_install_message = <<~MSG
44
+
45
+ ⚠️ DEPRECATED: paperclip_duplicate_check is no longer maintained.
46
+
47
+ No longer maintained. Paperclip itself has been deprecated upstream in favor of ActiveStorage; for duplicate detection on ActiveStorage attachments, use checksums directly.
48
+
49
+ This is the final release. No further updates are planned.
50
+
51
+ MSG
40
52
 
41
53
  if s.respond_to? :specification_version then
42
- s.specification_version = 3
54
+ s.specification_version = 4
43
55
 
44
56
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
- s.add_runtime_dependency(%q<paperclip>, [">= 0"])
46
- s.add_development_dependency(%q<rspec>, [">= 0"])
47
- s.add_development_dependency(%q<sqlite3>, [">= 0"])
48
- s.add_development_dependency(%q<rails>, [">= 0"])
49
- s.add_development_dependency(%q<yard>, [">= 0"])
50
- s.add_development_dependency(%q<redcarpet>, [">= 0"])
51
- s.add_development_dependency(%q<bundler>, [">= 0"])
52
- s.add_development_dependency(%q<jeweler>, [">= 0"])
57
+ s.add_runtime_dependency(%q<paperclip>.freeze, [">= 0"])
58
+ s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
59
+ s.add_development_dependency(%q<sqlite3>.freeze, [">= 0"])
60
+ s.add_development_dependency(%q<rails>.freeze, [">= 5.0"])
61
+ s.add_development_dependency(%q<yard>.freeze, [">= 0"])
62
+ s.add_development_dependency(%q<redcarpet>.freeze, [">= 0"])
63
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
64
+ s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
53
65
  else
54
- s.add_dependency(%q<paperclip>, [">= 0"])
55
- s.add_dependency(%q<rspec>, [">= 0"])
56
- s.add_dependency(%q<sqlite3>, [">= 0"])
57
- s.add_dependency(%q<rails>, [">= 0"])
58
- s.add_dependency(%q<yard>, [">= 0"])
59
- s.add_dependency(%q<redcarpet>, [">= 0"])
60
- s.add_dependency(%q<bundler>, [">= 0"])
61
- s.add_dependency(%q<jeweler>, [">= 0"])
66
+ s.add_dependency(%q<paperclip>.freeze, [">= 0"])
67
+ s.add_dependency(%q<rspec>.freeze, [">= 0"])
68
+ s.add_dependency(%q<sqlite3>.freeze, [">= 0"])
69
+ s.add_dependency(%q<rails>.freeze, [">= 5.0"])
70
+ s.add_dependency(%q<yard>.freeze, [">= 0"])
71
+ s.add_dependency(%q<redcarpet>.freeze, [">= 0"])
72
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
73
+ s.add_dependency(%q<juwelier>.freeze, [">= 0"])
62
74
  end
63
75
  else
64
- s.add_dependency(%q<paperclip>, [">= 0"])
65
- s.add_dependency(%q<rspec>, [">= 0"])
66
- s.add_dependency(%q<sqlite3>, [">= 0"])
67
- s.add_dependency(%q<rails>, [">= 0"])
68
- s.add_dependency(%q<yard>, [">= 0"])
69
- s.add_dependency(%q<redcarpet>, [">= 0"])
70
- s.add_dependency(%q<bundler>, [">= 0"])
71
- s.add_dependency(%q<jeweler>, [">= 0"])
76
+ s.add_dependency(%q<paperclip>.freeze, [">= 0"])
77
+ s.add_dependency(%q<rspec>.freeze, [">= 0"])
78
+ s.add_dependency(%q<sqlite3>.freeze, [">= 0"])
79
+ s.add_dependency(%q<rails>.freeze, [">= 5.0"])
80
+ s.add_dependency(%q<yard>.freeze, [">= 0"])
81
+ s.add_dependency(%q<redcarpet>.freeze, [">= 0"])
82
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
83
+ s.add_dependency(%q<juwelier>.freeze, [">= 0"])
72
84
  end
73
85
  end
74
86
 
@@ -5,18 +5,17 @@ describe CheckForDuplicateAttachedFile do
5
5
  it "should save an attachment if it's different from the current attachment" do
6
6
  person = Person.create!(photo: Rack::Test::UploadedFile.new("#{Dir.getwd}/spec/fixtures/image.jpg", 'image/jpeg'))
7
7
  person.photo = Rack::Test::UploadedFile.new("#{Dir.getwd}/spec/fixtures/image2.png", 'image/png')
8
- person.photo.should be_dirty
8
+ expect(person.photo).to be_dirty
9
9
  person.save!
10
- `md5 #{person.photo.path}`.split(' ').last.should eql(`md5 #{"#{Dir.getwd}/spec/fixtures/image2.png"}`.split(' ').last)
10
+ expect(`md5 #{person.photo.path}`.split(' ').last).to eql(`md5 #{"#{Dir.getwd}/spec/fixtures/image2.png"}`.split(' ').last)
11
11
  end
12
12
 
13
13
  it "should not re-save an attachment if it's the same as the current attachment" do
14
14
  person = Person.create!(photo: Rack::Test::UploadedFile.new("#{Dir.getwd}/spec/fixtures/image.jpg", 'image/jpeg'))
15
15
  person.photo = Rack::Test::UploadedFile.new("#{Dir.getwd}/spec/fixtures/image.jpg", 'image/jpeg')
16
- person.photo.should_not be_dirty
16
+ expect(person.photo).not_to be_dirty
17
17
  person.save!
18
- p person.photo.path
19
- `md5 #{person.photo.path}`.split(' ').last.should eql(`md5 #{"#{Dir.getwd}/spec/fixtures/image.jpg"}`.split(' ').last)
18
+ expect(`md5 #{person.photo.path}`.split(' ').last).to eql(`md5 #{"#{Dir.getwd}/spec/fixtures/image.jpg"}`.split(' ').last)
20
19
  end
21
20
  end
22
21
  end
data/spec/spec_helper.rb CHANGED
@@ -5,16 +5,18 @@ require 'bundler'
5
5
  Bundler.require :development
6
6
  Bundler.require
7
7
 
8
- require 'active_record'
8
+ require 'rails/all'
9
9
  require 'paperclip_duplicate_check'
10
+ require 'rack'
11
+ require 'rack/test'
10
12
 
11
- Paperclip::Railtie.insert
12
13
  ActiveRecord::Base.establish_connection(
13
14
  adapter: 'sqlite3',
14
15
  database: 'test.sqlite'
15
16
  )
16
17
 
17
18
  class Person < ActiveRecord::Base
19
+ include Paperclip::Glue
18
20
  include CheckForDuplicateAttachedFile
19
21
 
20
22
  has_attached_file :photo,
@@ -23,7 +25,9 @@ class Person < ActiveRecord::Base
23
25
  logbook: '32x32#',
24
26
  stat: '64x64#',
25
27
  },
26
- storage: :filesystem
28
+ storage: :filesystem,
29
+ path: './tmp/:attachment/:style.:extension'
30
+ validates_attachment_content_type :photo, content_type: /^image\//
27
31
  check_for_duplicate_attached_file :photo
28
32
  end
29
33
 
@@ -44,7 +48,5 @@ RSpec.configure do |config|
44
48
  photo_fingerprint VARCHAR(64)
45
49
  )
46
50
  SQL
47
-
48
- Rails.stub!(:root).and_return(Pathname(Dir.getwd))
49
51
  end
50
52
  end
metadata CHANGED
@@ -1,142 +1,124 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip_duplicate_check
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tim Morgan
9
- autorequire:
10
8
  bindir: bin
11
9
  cert_chain: []
12
- date: 2012-04-21 00:00:00.000000000 Z
10
+ date: 2016-07-04 00:00:00.000000000 Z
13
11
  dependencies:
14
12
  - !ruby/object:Gem::Dependency
15
13
  name: paperclip
16
14
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
15
  requirements:
19
- - - ! '>='
16
+ - - ">="
20
17
  - !ruby/object:Gem::Version
21
18
  version: '0'
22
19
  type: :runtime
23
20
  prerelease: false
24
21
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
22
  requirements:
27
- - - ! '>='
23
+ - - ">="
28
24
  - !ruby/object:Gem::Version
29
25
  version: '0'
30
26
  - !ruby/object:Gem::Dependency
31
27
  name: rspec
32
28
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
29
  requirements:
35
- - - ! '>='
30
+ - - ">="
36
31
  - !ruby/object:Gem::Version
37
32
  version: '0'
38
33
  type: :development
39
34
  prerelease: false
40
35
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
36
  requirements:
43
- - - ! '>='
37
+ - - ">="
44
38
  - !ruby/object:Gem::Version
45
39
  version: '0'
46
40
  - !ruby/object:Gem::Dependency
47
41
  name: sqlite3
48
42
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
43
  requirements:
51
- - - ! '>='
44
+ - - ">="
52
45
  - !ruby/object:Gem::Version
53
46
  version: '0'
54
47
  type: :development
55
48
  prerelease: false
56
49
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
50
  requirements:
59
- - - ! '>='
51
+ - - ">="
60
52
  - !ruby/object:Gem::Version
61
53
  version: '0'
62
54
  - !ruby/object:Gem::Dependency
63
55
  name: rails
64
56
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
57
  requirements:
67
- - - ! '>='
58
+ - - ">="
68
59
  - !ruby/object:Gem::Version
69
- version: '0'
60
+ version: '5.0'
70
61
  type: :development
71
62
  prerelease: false
72
63
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
64
  requirements:
75
- - - ! '>='
65
+ - - ">="
76
66
  - !ruby/object:Gem::Version
77
- version: '0'
67
+ version: '5.0'
78
68
  - !ruby/object:Gem::Dependency
79
69
  name: yard
80
70
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
71
  requirements:
83
- - - ! '>='
72
+ - - ">="
84
73
  - !ruby/object:Gem::Version
85
74
  version: '0'
86
75
  type: :development
87
76
  prerelease: false
88
77
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
78
  requirements:
91
- - - ! '>='
79
+ - - ">="
92
80
  - !ruby/object:Gem::Version
93
81
  version: '0'
94
82
  - !ruby/object:Gem::Dependency
95
83
  name: redcarpet
96
84
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
85
  requirements:
99
- - - ! '>='
86
+ - - ">="
100
87
  - !ruby/object:Gem::Version
101
88
  version: '0'
102
89
  type: :development
103
90
  prerelease: false
104
91
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
92
  requirements:
107
- - - ! '>='
93
+ - - ">="
108
94
  - !ruby/object:Gem::Version
109
95
  version: '0'
110
96
  - !ruby/object:Gem::Dependency
111
97
  name: bundler
112
98
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
99
  requirements:
115
- - - ! '>='
100
+ - - ">="
116
101
  - !ruby/object:Gem::Version
117
102
  version: '0'
118
103
  type: :development
119
104
  prerelease: false
120
105
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
106
  requirements:
123
- - - ! '>='
107
+ - - ">="
124
108
  - !ruby/object:Gem::Version
125
109
  version: '0'
126
110
  - !ruby/object:Gem::Dependency
127
- name: jeweler
111
+ name: juwelier
128
112
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
113
  requirements:
131
- - - ! '>='
114
+ - - ">="
132
115
  - !ruby/object:Gem::Version
133
116
  version: '0'
134
117
  type: :development
135
118
  prerelease: false
136
119
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
120
  requirements:
139
- - - ! '>='
121
+ - - ">="
140
122
  - !ruby/object:Gem::Version
141
123
  version: '0'
142
124
  description: This gem adds a mixin allowing you to forgo uploading a replacement Paperclip
@@ -148,9 +130,10 @@ extra_rdoc_files:
148
130
  - LICENSE.txt
149
131
  - README.md
150
132
  files:
151
- - .document
152
- - .rspec
153
- - .rvmrc
133
+ - ".document"
134
+ - ".rspec"
135
+ - ".ruby-gemset"
136
+ - ".ruby-version"
154
137
  - Gemfile
155
138
  - Gemfile.lock
156
139
  - LICENSE.txt
@@ -166,30 +149,32 @@ files:
166
149
  homepage: http://github.com/RISCfuture/paperclip_duplicate_check
167
150
  licenses:
168
151
  - MIT
169
- post_install_message:
152
+ metadata: {}
153
+ post_install_message: |2+
154
+
155
+ ⚠️ DEPRECATED: paperclip_duplicate_check is no longer maintained.
156
+
157
+ No longer maintained. Paperclip itself has been deprecated upstream in favor of ActiveStorage; for duplicate detection on ActiveStorage attachments, use checksums directly.
158
+
159
+ This is the final release. No further updates are planned.
160
+
170
161
  rdoc_options: []
171
162
  require_paths:
172
163
  - lib
173
164
  required_ruby_version: !ruby/object:Gem::Requirement
174
- none: false
175
165
  requirements:
176
- - - ! '>='
166
+ - - ">="
177
167
  - !ruby/object:Gem::Version
178
168
  version: '0'
179
- segments:
180
- - 0
181
- hash: -2227327769610888350
182
169
  required_rubygems_version: !ruby/object:Gem::Requirement
183
- none: false
184
170
  requirements:
185
- - - ! '>='
171
+ - - ">="
186
172
  - !ruby/object:Gem::Version
187
173
  version: '0'
188
174
  requirements: []
189
- rubyforge_project:
190
- rubygems_version: 1.8.23
191
- signing_key:
192
- specification_version: 3
193
- summary: Skips uploading a Paperclip attachment if it's identical to the one already
194
- uploaded
175
+ rubygems_version: 4.0.11
176
+ specification_version: 4
177
+ summary: "[DEPRECATED] Skips uploading a Paperclip attachment if it's identical to
178
+ the one already uploaded"
195
179
  test_files: []
180
+ ...
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm 1.9.3@paperclip_dup --create