carrierwave-sequel 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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