roachclip 0.1.3 → 0.2.0
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/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/roachclip.rb +13 -1
- data/roachclip.gemspec +5 -2
- data/test/test_helper.rb +1 -0
- data/test/unit/test_roachclip.rb +23 -0
- metadata +18 -4
data/Rakefile
CHANGED
|
@@ -14,6 +14,7 @@ begin
|
|
|
14
14
|
gemspec.add_development_dependency 'shoulda', '2.11.0'
|
|
15
15
|
gemspec.add_development_dependency 'mongo_mapper', '0.8.2'
|
|
16
16
|
gemspec.add_development_dependency 'ruby-debug', '0.10.3'
|
|
17
|
+
gemspec.add_development_dependency 'mocha', '0.9.8'
|
|
17
18
|
end
|
|
18
19
|
Jeweler::GemcutterTasks.new
|
|
19
20
|
rescue LoadError
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.2.0
|
data/lib/roachclip.rb
CHANGED
|
@@ -28,12 +28,24 @@ module Roachclip
|
|
|
28
28
|
|
|
29
29
|
raise InvalidAttachment unless attachment_names.include?(name)
|
|
30
30
|
|
|
31
|
+
path = options.delete(:path) || "/gridfs/fs/%s-%s"
|
|
31
32
|
self.roaches << {:name => name, :options => options}
|
|
32
|
-
|
|
33
|
+
|
|
34
|
+
options[:styles] ||= {}
|
|
33
35
|
options[:styles].each { |k,v| self.attachment "#{name}_#{k}"}
|
|
34
36
|
|
|
35
37
|
before_save :process_roaches
|
|
36
38
|
before_save :destroy_nil_roaches
|
|
39
|
+
|
|
40
|
+
self.send(:define_method, "#{name}_path") do
|
|
41
|
+
(path % [self.send(name).id.to_s, Time.now.to_i]).chomp('-')
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
options[:styles].each do |k,v|
|
|
45
|
+
self.send(:define_method, "#{name}_#{k}_path") do
|
|
46
|
+
(path % [self.send(name).id.to_s, Time.now.to_i]).chomp('-')
|
|
47
|
+
end
|
|
48
|
+
end
|
|
37
49
|
end
|
|
38
50
|
|
|
39
51
|
def validates_roachclip(*args)
|
data/roachclip.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{roachclip}
|
|
8
|
-
s.version = "0.
|
|
8
|
+
s.version = "0.2.0"
|
|
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-09-
|
|
12
|
+
s.date = %q{2010-09-17}
|
|
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 = [
|
|
@@ -52,12 +52,14 @@ Gem::Specification.new do |s|
|
|
|
52
52
|
s.add_development_dependency(%q<shoulda>, ["= 2.11.0"])
|
|
53
53
|
s.add_development_dependency(%q<mongo_mapper>, ["= 0.8.2"])
|
|
54
54
|
s.add_development_dependency(%q<ruby-debug>, ["= 0.10.3"])
|
|
55
|
+
s.add_development_dependency(%q<mocha>, ["= 0.9.8"])
|
|
55
56
|
else
|
|
56
57
|
s.add_dependency(%q<joint>, ["= 0.3.2"])
|
|
57
58
|
s.add_dependency(%q<paperclip>, ["= 2.3.3"])
|
|
58
59
|
s.add_dependency(%q<shoulda>, ["= 2.11.0"])
|
|
59
60
|
s.add_dependency(%q<mongo_mapper>, ["= 0.8.2"])
|
|
60
61
|
s.add_dependency(%q<ruby-debug>, ["= 0.10.3"])
|
|
62
|
+
s.add_dependency(%q<mocha>, ["= 0.9.8"])
|
|
61
63
|
end
|
|
62
64
|
else
|
|
63
65
|
s.add_dependency(%q<joint>, ["= 0.3.2"])
|
|
@@ -65,6 +67,7 @@ Gem::Specification.new do |s|
|
|
|
65
67
|
s.add_dependency(%q<shoulda>, ["= 2.11.0"])
|
|
66
68
|
s.add_dependency(%q<mongo_mapper>, ["= 0.8.2"])
|
|
67
69
|
s.add_dependency(%q<ruby-debug>, ["= 0.10.3"])
|
|
70
|
+
s.add_dependency(%q<mocha>, ["= 0.9.8"])
|
|
68
71
|
end
|
|
69
72
|
end
|
|
70
73
|
|
data/test/test_helper.rb
CHANGED
data/test/unit/test_roachclip.rb
CHANGED
|
@@ -72,6 +72,21 @@ class RoachclipTest < Test::Unit::TestCase
|
|
|
72
72
|
assert d.respond_to?(:image_large=)
|
|
73
73
|
end
|
|
74
74
|
|
|
75
|
+
context "with a custom path" do
|
|
76
|
+
setup do
|
|
77
|
+
Doc.roachclip :image, :path => "/gridfs/assets/%s"
|
|
78
|
+
@doc = Doc.new
|
|
79
|
+
@doc.image = File.open(test_file_path)
|
|
80
|
+
|
|
81
|
+
assert @doc.save
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
should "have image_path with custom path" do
|
|
85
|
+
i = @doc.image.id.to_s
|
|
86
|
+
assert_equal "/gridfs/assets/#{i}", @doc.image_path
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
75
90
|
context "with a saved document w/ image" do
|
|
76
91
|
setup do
|
|
77
92
|
@doc = Doc.new
|
|
@@ -80,6 +95,14 @@ class RoachclipTest < Test::Unit::TestCase
|
|
|
80
95
|
assert @doc.save
|
|
81
96
|
end
|
|
82
97
|
|
|
98
|
+
should "have image_path default to fs collection" do
|
|
99
|
+
t = Time.now
|
|
100
|
+
Time.stubs(:now).returns t
|
|
101
|
+
|
|
102
|
+
i = @doc.image.id.to_s
|
|
103
|
+
assert_equal "/gridfs/fs/#{i}-#{t.to_i}", @doc.image_path
|
|
104
|
+
end
|
|
105
|
+
|
|
83
106
|
should "still save documents w/ images" do
|
|
84
107
|
d = Doc.find @doc.id
|
|
85
108
|
|
metadata
CHANGED
|
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
|
4
4
|
prerelease: false
|
|
5
5
|
segments:
|
|
6
6
|
- 0
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
version: 0.
|
|
7
|
+
- 2
|
|
8
|
+
- 0
|
|
9
|
+
version: 0.2.0
|
|
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-09-
|
|
17
|
+
date: 2010-09-17 00:00:00 -06:00
|
|
18
18
|
default_executable:
|
|
19
19
|
dependencies:
|
|
20
20
|
- !ruby/object:Gem::Dependency
|
|
@@ -87,6 +87,20 @@ dependencies:
|
|
|
87
87
|
version: 0.10.3
|
|
88
88
|
type: :development
|
|
89
89
|
version_requirements: *id005
|
|
90
|
+
- !ruby/object:Gem::Dependency
|
|
91
|
+
name: mocha
|
|
92
|
+
prerelease: false
|
|
93
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
94
|
+
requirements:
|
|
95
|
+
- - "="
|
|
96
|
+
- !ruby/object:Gem::Version
|
|
97
|
+
segments:
|
|
98
|
+
- 0
|
|
99
|
+
- 9
|
|
100
|
+
- 8
|
|
101
|
+
version: 0.9.8
|
|
102
|
+
type: :development
|
|
103
|
+
version_requirements: *id006
|
|
90
104
|
description: Let you upload images and have use paperclip's hotness to post process them
|
|
91
105
|
email: ryan@angilly.com
|
|
92
106
|
executables: []
|