DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
File Extension Methods
Allows you to use file extensions as methods
class File
# Feel free to add more here, as you need them.
Extensions = %r=^(txt|rb|markdown|textile|haml|sass|css|html|xhtml)$=i
module Extension
def method_missing(meth, *args)
if Extensions =~ meth.to_s
[self, '.', meth.to_s].join
else
super
end # if
end # method_missing
end # Extension
end # File
class Symbol
include File::Extension
end
class String
include File::Extension
end
'myfile'.html # => "myfile.html" :a_file.rb # => "a_file.rb"






Comments
Ryan Lewis replied on Sat, 2008/05/03 - 2:54pm
def method_missing(meth, *args) Extensions =~ meth.to_s ? [self, '.', meth.to_s].join : super endRyan Lewis replied on Sat, 2008/05/03 - 2:54pm
def method_missing(meth, *args) [self, '.', meth.to_s].join ? Extentions =~ meth.to_s : super endYanno.. to make it purdy?