carrierwave-sequel 0.1.0 → 0.1.1

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
+ SHA1:
3
+ metadata.gz: 4888f028d208645491be3bca2782054482f5a49c
4
+ data.tar.gz: e0437fc1d59636a984e4d6efeb247995a2324ad5
5
+ SHA512:
6
+ metadata.gz: 67a7bdc61ff0f3ab108823eb38604f91adb71368227c97372a397dcf8851ed6de50a2c79582f0c9a8b8a4f0fe8b5da6c8066a0b541ba35d5e681ead3e6859963
7
+ data.tar.gz: ca906832203ba3ea975be925040b1b2cd14dab44332d6a2374c5e8eaa4e56898ce16aa32cdeb19eba26c1c6d9a211c1a558bedf60e02c1fba880527647ba98a0
data/.gitignore CHANGED
@@ -3,4 +3,5 @@ pkg/*
3
3
  .bundle
4
4
  spec/public
5
5
  .rvmrc
6
- Gemfile.lock
6
+ Gemfile.lock
7
+ vendor/bundle
@@ -21,6 +21,6 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.add_dependency "carrierwave"
23
23
  s.add_dependency "sequel"
24
- s.add_development_dependency "rspec", ["~> 2.0"]
24
+ s.add_development_dependency "rspec", ["~> 2.14.1"]
25
25
  s.add_development_dependency "sqlite3"
26
26
  end
@@ -7,15 +7,51 @@ module CarrierWave
7
7
  module Sequel
8
8
  include CarrierWave::Mount
9
9
 
10
- def mount_uploader(column, uploader)
10
+ def mount_uploader(column, uploader, options={}, &block)
11
11
  raise "You need to use Sequel 3.0 or higher. Please upgrade." unless ::Sequel::Model.respond_to?(:plugin)
12
12
  super
13
13
 
14
+ mod = Module.new
15
+ include mod
16
+ mod.class_eval <<-RUBY, __FILE__, __LINE__+1
17
+ def #{column}=(new_file)
18
+ if !(new_file.blank? && send(:#{column}).blank?)
19
+ modified!
20
+ end
21
+ super
22
+ end
23
+
24
+ def remove_#{column}!
25
+ modified!
26
+ super
27
+ end
28
+
29
+ def remove_#{column}=(value)
30
+ modified!
31
+ super
32
+ end
33
+
34
+ # Reset cached mounter on record reload
35
+ def reload(*)
36
+ @_mounters = nil
37
+ super
38
+ end
39
+
40
+ def remote_#{column}_url=(url)
41
+ modified!
42
+ super
43
+ end
44
+
45
+ def remote_#{column}_urls=(url)
46
+ modified!
47
+ super
48
+ end
49
+ RUBY
50
+
14
51
  alias_method :read_uploader, :[]
15
52
  alias_method :write_uploader, :[]=
16
53
 
17
54
  include CarrierWave::Sequel::Hooks
18
- include CarrierWave::Sequel::Validations
19
55
  end
20
56
 
21
57
  end # Sequel
@@ -39,8 +75,4 @@ module CarrierWave::Sequel::Hooks
39
75
  end
40
76
  end
41
77
 
42
- # Instance validation methods for the Sequel 3.x
43
- module CarrierWave::Sequel::Validations
44
- end
45
-
46
78
  Sequel::Model.send(:extend, CarrierWave::Sequel)
@@ -1,5 +1,5 @@
1
1
  module Carrierwave
2
2
  module Sequel
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
data/spec/sequel_spec.rb CHANGED
@@ -33,7 +33,7 @@ describe CarrierWave::Sequel do
33
33
  @class, @uploader, @event = setup_variables_for_class(@class)
34
34
  end
35
35
 
36
- after(:each) { @class.delete }
36
+ after(:each) { @class.dataset.delete }
37
37
 
38
38
  describe '#image' do
39
39
 
@@ -134,16 +134,6 @@ describe CarrierWave::Sequel do
134
134
  @event.reload
135
135
  @event[:image].should == 'test.jpeg'
136
136
  end
137
-
138
- it "should remove the image if remove_image? returns true" do
139
- @event.image = stub_file('test.jpeg')
140
- @event.save
141
- @event.remove_image = true
142
- @event.save
143
- @event.reload
144
- @event.image.should be_blank
145
- @event[:image].should == ''
146
- end
147
137
  end
148
138
 
149
139
  describe 'with overriddent filename' do
@@ -156,7 +146,7 @@ describe CarrierWave::Sequel do
156
146
  model.name + File.extname(super)
157
147
  end
158
148
  end
159
- @event.stub!(:name).and_return('jonas')
149
+ @event.stub(:name).and_return('jonas')
160
150
  end
161
151
 
162
152
  it "should copy the file to the upload directory when a file has been assigned" do
@@ -177,5 +167,52 @@ describe CarrierWave::Sequel do
177
167
 
178
168
  end
179
169
 
170
+ describe '#update' do
171
+
172
+ it "should copy the file to the upload directory when a file has been assigned" do
173
+ @event.save.should be_true
174
+ @event.update(:image => stub_file('test.jpeg'))
175
+ @event.reload
176
+ @event.image.should be_an_instance_of(@uploader)
177
+ @event.image.current_path.should == public_path('uploads/test.jpeg')
178
+ end
179
+
180
+ end
181
+
182
+ describe '#remove_image=' do
183
+
184
+ it "should remove the image if remove_image=true" do
185
+ @event.image = stub_file('test.jpeg')
186
+ @event.save
187
+ @event.remove_image = true
188
+ @event.save
189
+ @event.reload
190
+ @event.image.should be_blank
191
+ @event[:image].should == nil
192
+ end
193
+
194
+ end
195
+
196
+ describe '#remove_image!' do
197
+
198
+ it "should remove the uploaded file from the filesystem" do
199
+ @event.image = stub_file('test.jpeg')
200
+ @event.save
201
+ @event.remove_image!
202
+ public_exist?('uploads/test.jpeg').should be_false
203
+ end
204
+
205
+ end
206
+
207
+ describe '#store_image!' do
208
+
209
+ it "should store a file that has been assigned with image=" do
210
+ @event.image = stub_file('test.jpeg')
211
+ @event.store_image!
212
+ public_exist?('uploads/test.jpeg').should be_true
213
+ end
214
+
215
+ end
216
+
180
217
  end
181
218
  end
data/spec/spec_helper.rb CHANGED
@@ -13,6 +13,10 @@ def public_path( *paths )
13
13
  File.expand_path(File.join(File.dirname(__FILE__), 'public', *paths))
14
14
  end
15
15
 
16
+ def public_exist?( *paths )
17
+ File.exist?(public_path(*paths))
18
+ end
19
+
16
20
  CarrierWave.root = public_path
17
21
 
18
22
  module CarrierWave
metadata CHANGED
@@ -1,87 +1,80 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: carrierwave-sequel
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 1
8
- - 0
9
- version: 0.1.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Jonas Nicklas
13
8
  - Trevor Turk
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-05-18 00:00:00 -04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2015-10-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: carrierwave
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
27
18
  - - ">="
28
- - !ruby/object:Gem::Version
29
- segments:
30
- - 0
31
- version: "0"
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
32
21
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: sequel
36
22
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
40
25
  - - ">="
41
- - !ruby/object:Gem::Version
42
- segments:
43
- - 0
44
- version: "0"
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: sequel
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
45
35
  type: :runtime
46
- version_requirements: *id002
47
- - !ruby/object:Gem::Dependency
48
- name: rspec
49
36
  prerelease: false
50
- requirement: &id003 !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - ~>
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 2
57
- - 0
58
- version: "2.0"
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 2.14.1
59
49
  type: :development
60
- version_requirements: *id003
61
- - !ruby/object:Gem::Dependency
62
- name: sqlite3
63
50
  prerelease: false
64
- requirement: &id004 !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 2.14.1
56
+ - !ruby/object:Gem::Dependency
57
+ name: sqlite3
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
67
60
  - - ">="
68
- - !ruby/object:Gem::Version
69
- segments:
70
- - 0
71
- version: "0"
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
72
63
  type: :development
73
- version_requirements: *id004
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
74
70
  description: Sequel support for CarrierWave
75
- email:
71
+ email:
76
72
  - jonas.nicklas@gmail.com
77
73
  executables: []
78
-
79
74
  extensions: []
80
-
81
75
  extra_rdoc_files: []
82
-
83
- files:
84
- - .gitignore
76
+ files:
77
+ - ".gitignore"
85
78
  - Gemfile
86
79
  - README.rdoc
87
80
  - Rakefile
@@ -91,39 +84,30 @@ files:
91
84
  - spec/fixtures/test.jpeg
92
85
  - spec/sequel_spec.rb
93
86
  - spec/spec_helper.rb
94
- has_rdoc: true
95
87
  homepage: https://github.com/jnicklas/carrierwave-sequel
96
88
  licenses: []
97
-
89
+ metadata: {}
98
90
  post_install_message:
99
91
  rdoc_options: []
100
-
101
- require_paths:
92
+ require_paths:
102
93
  - lib
103
- required_ruby_version: !ruby/object:Gem::Requirement
104
- none: false
105
- requirements:
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ requirements:
106
96
  - - ">="
107
- - !ruby/object:Gem::Version
108
- segments:
109
- - 0
110
- version: "0"
111
- required_rubygems_version: !ruby/object:Gem::Requirement
112
- none: false
113
- requirements:
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
114
101
  - - ">="
115
- - !ruby/object:Gem::Version
116
- segments:
117
- - 0
118
- version: "0"
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
119
104
  requirements: []
120
-
121
105
  rubyforge_project: carrierwave-sequel
122
- rubygems_version: 1.3.7
106
+ rubygems_version: 2.4.5.1
123
107
  signing_key:
124
- specification_version: 3
108
+ specification_version: 4
125
109
  summary: Sequel support for CarrierWave
126
- test_files:
110
+ test_files:
127
111
  - spec/fixtures/test.jpeg
128
112
  - spec/sequel_spec.rb
129
113
  - spec/spec_helper.rb