roachclip 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ pkg
data/README CHANGED
@@ -28,7 +28,9 @@ Roachclip lets you do:
28
28
  roachclip :image, :styles => {:thumb => {:geometry => '50x50>'}, :large => {:geometry => '500x500>'}}
29
29
  end
30
30
 
31
- Which combines Joint's GridFS-ness with Paperclip's image processing-ness
31
+ Which combines Joint's GridFS-ness with Paperclip's image processing-ness. Note that Roachclip relies on Paperclip
32
+ and Joint. You'll have to have those gems installed (rubygems gem deps should take care of it for you). Roachclip
33
+ will plug Joint into your models automatically.
32
34
 
33
35
  = License
34
36
 
data/Rakefile CHANGED
@@ -13,6 +13,7 @@ begin
13
13
 
14
14
  gemspec.add_development_dependency 'shoulda', '2.11.0'
15
15
  gemspec.add_development_dependency 'mongo_mapper', '0.8.2'
16
+ gemspec.add_development_dependency 'ruby-debug', '0.10.3'
16
17
  end
17
18
  Jeweler::GemcutterTasks.new
18
19
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/lib/roachclip.rb CHANGED
@@ -31,7 +31,8 @@ module Roachclip
31
31
 
32
32
  options[:styles].each { |k,v| self.attachment "#{name}_#{k}"}
33
33
 
34
- before_save :process_roaches
34
+ before_save :process_roaches
35
+ before_save :destroy_nil_roaches
35
36
  end
36
37
  end
37
38
 
@@ -58,5 +59,18 @@ module Roachclip
58
59
  end
59
60
  end
60
61
  end
62
+
63
+ def destroy_nil_roaches
64
+ roaches.each do |img|
65
+ name = img[:name]
66
+ styles = img[:options][:styles]
67
+
68
+ return unless @nil_attachments && @nil_attachments.include?(name)
69
+
70
+ styles.keys.each do |style_key|
71
+ send "#{name}_#{style_key}=", nil
72
+ end
73
+ end
74
+ end
61
75
  end
62
76
  end
@@ -1,3 +1,3 @@
1
1
  module Roachclip
2
- Version = "0.1.0"
2
+ Version = "0.1.1"
3
3
  end
data/roachclip.gemspec CHANGED
@@ -5,18 +5,19 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{roachclip}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ryan Angilly"]
12
- s.date = %q{2010-06-23}
12
+ s.date = %q{2010-06-24}
13
13
  s.description = %q{Let you upload images and have use paperclip's hotness to post process them}
14
14
  s.email = %q{ryan@angilly.com}
15
15
  s.extra_rdoc_files = [
16
16
  "README"
17
17
  ]
18
18
  s.files = [
19
- "MIT-LICENSE",
19
+ ".gitignore",
20
+ "MIT-LICENSE",
20
21
  "README",
21
22
  "Rakefile",
22
23
  "VERSION",
@@ -49,17 +50,20 @@ Gem::Specification.new do |s|
49
50
  s.add_runtime_dependency(%q<paperclip>, ["= 2.3.3"])
50
51
  s.add_development_dependency(%q<shoulda>, ["= 2.11.0"])
51
52
  s.add_development_dependency(%q<mongo_mapper>, ["= 0.8.2"])
53
+ s.add_development_dependency(%q<ruby-debug>, ["= 0.10.3"])
52
54
  else
53
55
  s.add_dependency(%q<joint>, ["= 0.3.2"])
54
56
  s.add_dependency(%q<paperclip>, ["= 2.3.3"])
55
57
  s.add_dependency(%q<shoulda>, ["= 2.11.0"])
56
58
  s.add_dependency(%q<mongo_mapper>, ["= 0.8.2"])
59
+ s.add_dependency(%q<ruby-debug>, ["= 0.10.3"])
57
60
  end
58
61
  else
59
62
  s.add_dependency(%q<joint>, ["= 0.3.2"])
60
63
  s.add_dependency(%q<paperclip>, ["= 2.3.3"])
61
64
  s.add_dependency(%q<shoulda>, ["= 2.11.0"])
62
65
  s.add_dependency(%q<mongo_mapper>, ["= 0.8.2"])
66
+ s.add_dependency(%q<ruby-debug>, ["= 0.10.3"])
63
67
  end
64
68
  end
65
69
 
data/test/test_helper.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'test/unit'
2
+ require 'ruby-debug'
2
3
  require 'shoulda'
3
4
  require 'mongo_mapper'
4
5
 
@@ -69,6 +69,16 @@ class RoachclipTest < Test::Unit::TestCase
69
69
  assert_equal File.size(@test_file_path), d.image_size
70
70
  end
71
71
 
72
+ should "destroy thumbs when image set to nil" do
73
+ @doc.image = nil
74
+ @doc.save!
75
+
76
+ d = Doc.find(@doc.id)
77
+ # until joint supports clearing IDs
78
+ assert_raises(Mongo::GridFileNotFound) { d.image_thumb.read }
79
+ assert_raises(Mongo::GridFileNotFound) { d.image_large.read }
80
+ end
81
+
72
82
  should "have thumb and large" do
73
83
  assert @doc.image_thumb.size > 0
74
84
  assert @doc.image_large.size > 0
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ryan Angilly
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-06-23 00:00:00 -04:00
17
+ date: 2010-06-24 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -73,6 +73,20 @@ dependencies:
73
73
  version: 0.8.2
74
74
  type: :development
75
75
  version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: ruby-debug
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "="
82
+ - !ruby/object:Gem::Version
83
+ segments:
84
+ - 0
85
+ - 10
86
+ - 3
87
+ version: 0.10.3
88
+ type: :development
89
+ version_requirements: *id005
76
90
  description: Let you upload images and have use paperclip's hotness to post process them
77
91
  email: ryan@angilly.com
78
92
  executables: []
@@ -82,6 +96,7 @@ extensions: []
82
96
  extra_rdoc_files:
83
97
  - README
84
98
  files:
99
+ - .gitignore
85
100
  - MIT-LICENSE
86
101
  - README
87
102
  - Rakefile