locomotive_carrierwave 0.5.0.1.beta2 → 0.5.0.1.beta3

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,18 +14,13 @@ module CarrierWave
14
14
  ##
15
15
  # Override this method in your uploader to check if the model has been updated.
16
16
  #
17
+ # Some comments about not working for sequel and datamapper, maybe...
17
18
  # === Returns
18
19
  #
19
20
  # [NilClass, Boolean] true if the model has been changed, false otherwise
20
21
  #
21
- # === Examples
22
- #
23
- # def stale_model?
24
- # model.folder_changed? # because store_dir is based on the folder property of the model
25
- # end
26
- #
27
22
  def stale_model?
28
- false
23
+ self.model.persisted? && self.model.send("#{self.mounted_as}_changed?") rescue false
29
24
  end
30
25
 
31
26
  def rename?
@@ -29,7 +29,7 @@ module CarrierWave
29
29
  # [name (#to_sym)] name of the version
30
30
  # [&block (Proc)] a block to eval on this version of the uploader
31
31
  #
32
- def version(name, &block)
32
+ def version(name, options = {}, &block)
33
33
  name = name.to_sym
34
34
  unless versions[name]
35
35
  versions[name] = Class.new(self)
@@ -39,6 +39,10 @@ module CarrierWave
39
39
  def #{name}
40
40
  versions[:#{name}]
41
41
  end
42
+
43
+ def do_#{name}_version?
44
+ #{options[:if] || true}
45
+ end
42
46
  RUBY
43
47
  end
44
48
  versions[name].class_eval(&block) if block
@@ -64,12 +68,14 @@ module CarrierWave
64
68
  # [Hash{Symbol => CarrierWave::Uploader}] a list of uploader instances
65
69
  #
66
70
  def versions
67
- return @versions if @versions
68
- @versions = {}
69
- self.class.versions.each do |name, klass|
70
- @versions[name] = klass.new(model, mounted_as)
71
+ unless @versions
72
+ @versions = {}
73
+ self.class.versions.each do |name, klass|
74
+ @versions[name] = klass.new(model, mounted_as)
75
+ end
71
76
  end
72
- @versions
77
+
78
+ @versions.clone.delete_if { |name, klass| !self.send("do_#{name}_version?".to_sym) }
73
79
  end
74
80
 
75
81
  ##
@@ -101,9 +107,10 @@ module CarrierWave
101
107
  #
102
108
  def url(*args)
103
109
  if(args.first)
104
- raise ArgumentError, "Version #{args.first} doesn't exist!" if versions[args.first.to_sym].nil?
110
+ name = args.first.to_sym
111
+ raise ArgumentError, "Version #{name.to_s} doesn't exist!" if versions[name].nil?
105
112
  # recursively proxy to version
106
- versions[args.first.to_sym].url(*args[1..-1])
113
+ versions[name].url(*args[1..-1])
107
114
  else
108
115
  super()
109
116
  end
@@ -1,3 +1,3 @@
1
1
  module CarrierWave
2
- VERSION = "0.5.0.1.beta2"
2
+ VERSION = "0.5.0.1.beta3"
3
3
  end
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: locomotive_carrierwave
3
3
  version: !ruby/object:Gem::Version
4
- hash: -1848229906
5
- prerelease: true
4
+ hash: 62196493
5
+ prerelease: 8
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
9
  - 0
10
10
  - 1
11
- - beta2
12
- version: 0.5.0.1.beta2
11
+ - beta
12
+ - 3
13
+ version: 0.5.0.1.beta3
13
14
  platform: ruby
14
15
  authors:
15
16
  - Jonas Nicklas
@@ -18,13 +19,11 @@ autorequire:
18
19
  bindir: bin
19
20
  cert_chain: []
20
21
 
21
- date: 2010-10-19 00:00:00 +02:00
22
+ date: 2011-03-06 00:00:00 +01:00
22
23
  default_executable:
23
24
  dependencies:
24
25
  - !ruby/object:Gem::Dependency
25
- type: :runtime
26
26
  prerelease: false
27
- name: activesupport
28
27
  version_requirements: &id001 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
@@ -35,11 +34,11 @@ dependencies:
35
34
  - 3
36
35
  - 0
37
36
  version: "3.0"
37
+ type: :runtime
38
38
  requirement: *id001
39
+ name: activesupport
39
40
  - !ruby/object:Gem::Dependency
40
- type: :development
41
41
  prerelease: false
42
- name: rails
43
42
  version_requirements: &id002 !ruby/object:Gem::Requirement
44
43
  none: false
45
44
  requirements:
@@ -51,11 +50,11 @@ dependencies:
51
50
  - 0
52
51
  - 0
53
52
  version: 3.0.0
53
+ type: :development
54
54
  requirement: *id002
55
+ name: rails
55
56
  - !ruby/object:Gem::Dependency
56
- type: :development
57
57
  prerelease: false
58
- name: rspec
59
58
  version_requirements: &id003 !ruby/object:Gem::Requirement
60
59
  none: false
61
60
  requirements:
@@ -67,11 +66,11 @@ dependencies:
67
66
  - 3
68
67
  - 0
69
68
  version: 1.3.0
69
+ type: :development
70
70
  requirement: *id003
71
+ name: rspec
71
72
  - !ruby/object:Gem::Dependency
72
- type: :development
73
73
  prerelease: false
74
- name: fog
75
74
  version_requirements: &id004 !ruby/object:Gem::Requirement
76
75
  none: false
77
76
  requirements:
@@ -83,11 +82,11 @@ dependencies:
83
82
  - 3
84
83
  - 7
85
84
  version: 0.3.7
85
+ type: :development
86
86
  requirement: *id004
87
+ name: fog
87
88
  - !ruby/object:Gem::Dependency
88
- type: :development
89
89
  prerelease: false
90
- name: cucumber
91
90
  version_requirements: &id005 !ruby/object:Gem::Requirement
92
91
  none: false
93
92
  requirements:
@@ -97,11 +96,11 @@ dependencies:
97
96
  segments:
98
97
  - 0
99
98
  version: "0"
99
+ type: :development
100
100
  requirement: *id005
101
+ name: cucumber
101
102
  - !ruby/object:Gem::Dependency
102
- type: :development
103
103
  prerelease: false
104
- name: sqlite3-ruby
105
104
  version_requirements: &id006 !ruby/object:Gem::Requirement
106
105
  none: false
107
106
  requirements:
@@ -111,11 +110,11 @@ dependencies:
111
110
  segments:
112
111
  - 0
113
112
  version: "0"
113
+ type: :development
114
114
  requirement: *id006
115
+ name: sqlite3-ruby
115
116
  - !ruby/object:Gem::Dependency
116
- type: :development
117
117
  prerelease: false
118
- name: dm-core
119
118
  version_requirements: &id007 !ruby/object:Gem::Requirement
120
119
  none: false
121
120
  requirements:
@@ -125,11 +124,11 @@ dependencies:
125
124
  segments:
126
125
  - 0
127
126
  version: "0"
127
+ type: :development
128
128
  requirement: *id007
129
+ name: dm-core
129
130
  - !ruby/object:Gem::Dependency
130
- type: :development
131
131
  prerelease: false
132
- name: dm-validations
133
132
  version_requirements: &id008 !ruby/object:Gem::Requirement
134
133
  none: false
135
134
  requirements:
@@ -139,11 +138,11 @@ dependencies:
139
138
  segments:
140
139
  - 0
141
140
  version: "0"
141
+ type: :development
142
142
  requirement: *id008
143
+ name: dm-validations
143
144
  - !ruby/object:Gem::Dependency
144
- type: :development
145
145
  prerelease: false
146
- name: dm-migrations
147
146
  version_requirements: &id009 !ruby/object:Gem::Requirement
148
147
  none: false
149
148
  requirements:
@@ -153,11 +152,11 @@ dependencies:
153
152
  segments:
154
153
  - 0
155
154
  version: "0"
155
+ type: :development
156
156
  requirement: *id009
157
+ name: dm-migrations
157
158
  - !ruby/object:Gem::Dependency
158
- type: :development
159
159
  prerelease: false
160
- name: dm-sqlite-adapter
161
160
  version_requirements: &id010 !ruby/object:Gem::Requirement
162
161
  none: false
163
162
  requirements:
@@ -167,11 +166,11 @@ dependencies:
167
166
  segments:
168
167
  - 0
169
168
  version: "0"
169
+ type: :development
170
170
  requirement: *id010
171
+ name: dm-sqlite-adapter
171
172
  - !ruby/object:Gem::Dependency
172
- type: :development
173
173
  prerelease: false
174
- name: sequel
175
174
  version_requirements: &id011 !ruby/object:Gem::Requirement
176
175
  none: false
177
176
  requirements:
@@ -181,11 +180,11 @@ dependencies:
181
180
  segments:
182
181
  - 0
183
182
  version: "0"
183
+ type: :development
184
184
  requirement: *id011
185
+ name: sequel
185
186
  - !ruby/object:Gem::Dependency
186
- type: :development
187
187
  prerelease: false
188
- name: rmagick
189
188
  version_requirements: &id012 !ruby/object:Gem::Requirement
190
189
  none: false
191
190
  requirements:
@@ -195,11 +194,11 @@ dependencies:
195
194
  segments:
196
195
  - 0
197
196
  version: "0"
197
+ type: :development
198
198
  requirement: *id012
199
+ name: rmagick
199
200
  - !ruby/object:Gem::Dependency
200
- type: :development
201
201
  prerelease: false
202
- name: RubyInline
203
202
  version_requirements: &id013 !ruby/object:Gem::Requirement
204
203
  none: false
205
204
  requirements:
@@ -209,11 +208,11 @@ dependencies:
209
208
  segments:
210
209
  - 0
211
210
  version: "0"
211
+ type: :development
212
212
  requirement: *id013
213
+ name: RubyInline
213
214
  - !ruby/object:Gem::Dependency
214
- type: :development
215
215
  prerelease: false
216
- name: image_science
217
216
  version_requirements: &id014 !ruby/object:Gem::Requirement
218
217
  none: false
219
218
  requirements:
@@ -223,11 +222,11 @@ dependencies:
223
222
  segments:
224
223
  - 0
225
224
  version: "0"
225
+ type: :development
226
226
  requirement: *id014
227
+ name: image_science
227
228
  - !ruby/object:Gem::Dependency
228
- type: :development
229
229
  prerelease: false
230
- name: mini_magick
231
230
  version_requirements: &id015 !ruby/object:Gem::Requirement
232
231
  none: false
233
232
  requirements:
@@ -238,29 +237,29 @@ dependencies:
238
237
  - 2
239
238
  - 1
240
239
  version: "2.1"
240
+ type: :development
241
241
  requirement: *id015
242
+ name: mini_magick
242
243
  - !ruby/object:Gem::Dependency
243
- type: :development
244
244
  prerelease: false
245
- name: mongoid
246
245
  version_requirements: &id016 !ruby/object:Gem::Requirement
247
246
  none: false
248
247
  requirements:
249
248
  - - "="
250
249
  - !ruby/object:Gem::Version
251
- hash: 62196417
250
+ hash: 15424091
252
251
  segments:
253
252
  - 2
254
253
  - 0
255
254
  - 0
256
- - beta
257
- - 17
258
- version: 2.0.0.beta.17
255
+ - rc
256
+ - 7
257
+ version: 2.0.0.rc.7
258
+ type: :development
259
259
  requirement: *id016
260
+ name: mongoid
260
261
  - !ruby/object:Gem::Dependency
261
- type: :development
262
262
  prerelease: false
263
- name: bson_ext
264
263
  version_requirements: &id017 !ruby/object:Gem::Requirement
265
264
  none: false
266
265
  requirements:
@@ -270,11 +269,11 @@ dependencies:
270
269
  segments:
271
270
  - 0
272
271
  version: "0"
272
+ type: :development
273
273
  requirement: *id017
274
+ name: bson_ext
274
275
  - !ruby/object:Gem::Dependency
275
- type: :development
276
276
  prerelease: false
277
- name: timecop
278
277
  version_requirements: &id018 !ruby/object:Gem::Requirement
279
278
  none: false
280
279
  requirements:
@@ -284,11 +283,11 @@ dependencies:
284
283
  segments:
285
284
  - 0
286
285
  version: "0"
286
+ type: :development
287
287
  requirement: *id018
288
+ name: timecop
288
289
  - !ruby/object:Gem::Dependency
289
- type: :development
290
290
  prerelease: false
291
- name: json
292
291
  version_requirements: &id019 !ruby/object:Gem::Requirement
293
292
  none: false
294
293
  requirements:
@@ -298,7 +297,9 @@ dependencies:
298
297
  segments:
299
298
  - 0
300
299
  version: "0"
300
+ type: :development
301
301
  requirement: *id019
302
+ name: json
302
303
  description: Upload files in your Ruby applications, map them to a range of ORMs, store them on different backends.
303
304
  email:
304
305
  - jonas.nicklas@gmail.com
@@ -382,7 +383,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
382
383
  requirements: []
383
384
 
384
385
  rubyforge_project: carrierwave
385
- rubygems_version: 1.3.7
386
+ rubygems_version: 1.4.2
386
387
  signing_key:
387
388
  specification_version: 3
388
389
  summary: Ruby file upload library