jnunemaker-grip 0.1 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/jnunemaker-grip.gemspec +1 -1
- data/lib/grip.rb +5 -1
- data/lib/grip/version.rb +1 -1
- data/test/helper.rb +1 -0
- data/test/test_grip.rb +19 -3
- metadata +1 -1
data/.gitignore
CHANGED
data/jnunemaker-grip.gemspec
CHANGED
data/lib/grip.rb
CHANGED
@@ -22,8 +22,12 @@ module Grip
|
|
22
22
|
define_method("#{name}=") do |file|
|
23
23
|
self["#{name}_id"] = Mongo::ObjectID.new
|
24
24
|
self["#{name}_size"] = File.size(file)
|
25
|
-
self["#{name}_name"] = File.basename(file.path)
|
26
25
|
self["#{name}_type"] = Wand.wave(file.path)
|
26
|
+
self["#{name}_name"] = if file.respond_to?(:original_filename)
|
27
|
+
file.original_filename
|
28
|
+
else
|
29
|
+
File.basename(file.path)
|
30
|
+
end
|
27
31
|
self.class.attachment_definitions[name] = file
|
28
32
|
end
|
29
33
|
end
|
data/lib/grip/version.rb
CHANGED
data/test/helper.rb
CHANGED
data/test/test_grip.rb
CHANGED
@@ -32,9 +32,6 @@ class GripTest < Test::Unit::TestCase
|
|
32
32
|
assert_equal 27582, @doc.image_size
|
33
33
|
assert_equal 8775, @doc.pdf_size
|
34
34
|
|
35
|
-
assert_equal 'cthulhu.png', @doc.image_name
|
36
|
-
assert_equal 'sample.pdf', @doc.pdf_name
|
37
|
-
|
38
35
|
assert_equal "image/png", @doc.image_type
|
39
36
|
assert_equal "application/pdf", @doc.pdf_type
|
40
37
|
|
@@ -47,6 +44,25 @@ class GripTest < Test::Unit::TestCase
|
|
47
44
|
assert_equal "application/pdf", @grid.get(@doc.pdf_id).content_type
|
48
45
|
end
|
49
46
|
|
47
|
+
test "assigns file name from path if original file name not available" do
|
48
|
+
assert_equal 'cthulhu.png', @doc.image_name
|
49
|
+
assert_equal 'sample.pdf', @doc.pdf_name
|
50
|
+
end
|
51
|
+
|
52
|
+
test "assigns file name from original filename if available" do
|
53
|
+
begin
|
54
|
+
file = Tempfile.new('testing.txt')
|
55
|
+
def file.original_filename
|
56
|
+
'testing.txt'
|
57
|
+
end
|
58
|
+
|
59
|
+
doc = Foo.create(:image => file)
|
60
|
+
assert_equal 'testing.txt', doc.image_name
|
61
|
+
ensure
|
62
|
+
file.close
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
50
66
|
test "responds to keys" do
|
51
67
|
[ :pdf_size, :pdf_id, :pdf_name, :pdf_type,
|
52
68
|
:image_size, :image_id, :image_name, :image_type
|