roachclip 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.
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