Method: CodeRay::FileType.fetch

Defined in:
lib/coderay/helpers/file_type.rb

.fetch(filename, default = nil, read_shebang = false) ⇒ Object

This works like Hash#fetch.

If the filetype cannot be found, the default value is returned.



50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/coderay/helpers/file_type.rb', line 50

def fetch filename, default = nil, read_shebang = false
  if default && block_given?
    warn 'Block supersedes default value argument; use either.'
  end
  
  if type = self[filename, read_shebang]
    type
  else
    return yield if block_given?
    return default if default
    raise UnknownFileType, 'Could not determine type of %p.' % filename
  end
end