public
Fork of mattetti/mimetype-fu
Description: get the mimetype of a file directly in Ruby
Homepage: http://code.google.com/p/mimetype-fu/
Clone URL: git://github.com/foca/mimetype-fu.git
moved the constant to be set only once

git-svn-id: https://mimetype-fu.googlecode.com/svn/trunk@8 
9b4a08d8-d032-0410-955b-215827cc34ef
mattAimonetti (author)
Wed Jun 13 21:22:46 -0700 2007
commit  aecc4c1dc4e4d1d582b7ac97808de18f13a756e7
tree    9d0582f53ce2f9023a89b26f20d390d67a57fb74
parent  f1e64c04507ebce679ce99f7402ad58ad17a15f4
...
1
2
 
 
3
...
 
 
1
2
3
0
@@ -1,2 +1,2 @@
0
-# Include hook code here
0
-require File.dirname(__FILE__) + '/lib/mimetype_fu'
0
+require File.dirname(__FILE__) + '/lib/extensions_const'
0
+require File.dirname(__FILE__) + '/lib/mimetype_fu'
0
\ No newline at end of file
...
1
2
3
4
 
5
6
7
 
8
9
10
11
12
13
14
15
16
 
 
 
 
 
 
 
17
18
19
...
 
1
 
 
2
3
4
 
5
6
 
 
 
 
 
 
 
 
7
8
9
10
11
12
13
14
15
16
0
@@ -1,19 +1,16 @@
0
-
0
 class File
0
- EXTENSIONS = YAML.load_file(File.dirname(__FILE__) + '/mime_types.yml').symbolize_keys
0
-
0
+
0
   def self.mime_type?(file)
0
     if file.class == File
0
- EXTENSIONS[File.extname(file.path).gsub('.','').to_sym]
0
+ mime = ::EXTENSIONS[File.extname(file.path).gsub('.','').to_sym]
0
     elsif file.class == String
0
- mime = File.extensions[(file[file.rindex('.')+1, file.size]).to_sym]
0
- if mime
0
- return mime
0
- else
0
- 'unknown/unknown'
0
- end
0
- else
0
- 'unknown/unknown'
0
+ mime = EXTENSIONS[(file[file.rindex('.')+1, file.size]).to_sym]
0
+ end
0
+
0
+ if mime
0
+ return mime
0
+ else
0
+ 'unknown/unknown'
0
     end
0
   end
0
   
...
1
2
3
4
 
5
6
7
8
9
10
 
11
12
13
...
17
18
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
21
22
...
1
2
3
 
4
5
6
7
8
9
 
10
11
12
13
...
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
0
@@ -1,13 +1,13 @@
0
 require File.dirname(__FILE__) + '/spec_helper'
0
 require File.dirname(__FILE__) + '/../lib/mimetype_fu'
0
 
0
-describe 'A file' do
0
+describe 'A file with a know extension' do
0
   
0
   before(:each) do
0
     @file = File.open(File.dirname(__FILE__) + '/fixtures/file.jpg')
0
   end
0
   
0
- it 'should have and extension' do
0
+ it 'should have an extension' do
0
     File.extname(@file.path).should == '.jpg'
0
   end
0
   
0
@@ -17,6 +17,22 @@ describe 'A file' do
0
   
0
 end
0
 
0
+describe 'A file with anunknow extension' do
0
+
0
+ before(:each) do
0
+ @file = File.open(File.dirname(__FILE__) + '/fixtures/file.unknown')
0
+ end
0
+
0
+ it 'should have an extension' do
0
+ File.extname(@file.path).should == '.unknown'
0
+ end
0
+
0
+ it 'should have an unkwown mime type' do
0
+ File.mime_type?(@file).should == "unknown/unknown"
0
+ end
0
+
0
+end
0
+
0
 describe 'A valid file path' do
0
   
0
   before(:each) do

Comments

    No one has commented yet.