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 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.3
1
+ 0.2.0
@@ -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)
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{roachclip}
8
- s.version = "0.1.3"
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-15}
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
 
@@ -3,6 +3,7 @@ require 'test/unit'
3
3
  require 'ruby-debug'
4
4
  require 'shoulda'
5
5
  require 'mongo_mapper'
6
+ require 'mocha'
6
7
 
7
8
  $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
8
9
 
@@ -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
- - 1
8
- - 3
9
- version: 0.1.3
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-15 00:00:00 -06:00
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: []