mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
Add Blob#extname
This commit is contained in:
@@ -16,6 +16,18 @@ module Linguist
|
||||
Pathname.new(name || "")
|
||||
end
|
||||
|
||||
# Public: Get the extname of the path
|
||||
#
|
||||
# Examples
|
||||
#
|
||||
# blob(name='foo.rb').extname
|
||||
# # => '.rb'
|
||||
#
|
||||
# Returns a String
|
||||
def extname
|
||||
pathname.extname
|
||||
end
|
||||
|
||||
# Public: Get the actual blob mime type
|
||||
#
|
||||
# Examples
|
||||
@@ -70,7 +82,7 @@ module Linguist
|
||||
#
|
||||
# Return true or false
|
||||
def image?
|
||||
['.png', '.jpg', '.jpeg', '.gif'].include?(pathname.extname)
|
||||
['.png', '.jpg', '.jpeg', '.gif'].include?(extname)
|
||||
end
|
||||
|
||||
# Public: Is the blob binary?
|
||||
@@ -158,11 +170,11 @@ module Linguist
|
||||
#
|
||||
# Return true or false
|
||||
def generated?
|
||||
if ['.xib', '.nib', '.pbxproj'].include?(pathname.extname)
|
||||
if ['.xib', '.nib', '.pbxproj'].include?(extname)
|
||||
true
|
||||
elsif generated_coffeescript?
|
||||
true
|
||||
elsif pathname.extname == '.js'
|
||||
elsif extname == '.js'
|
||||
# JS is minified if any lines are longer than 1000c
|
||||
lines.any? { |l| l.length > 1000 }
|
||||
else
|
||||
@@ -180,7 +192,7 @@ module Linguist
|
||||
#
|
||||
# Return true or false
|
||||
def generated_coffeescript?
|
||||
return unless pathname.extname == '.js'
|
||||
return unless extname == '.js'
|
||||
|
||||
if lines[0] == '(function() {' && # First line is module closure opening
|
||||
lines[-2] == '}).call(this);' && # Second to last line closes module closure
|
||||
@@ -218,9 +230,9 @@ module Linguist
|
||||
def indexable?
|
||||
if !text?
|
||||
false
|
||||
elsif ['.po', '.sql'].include?(pathname.extname)
|
||||
elsif ['.po', '.sql'].include?(extname)
|
||||
false
|
||||
elsif !Language.find_by_extension(pathname.extname)
|
||||
elsif !Language.find_by_extension(extname)
|
||||
false
|
||||
elsif generated?
|
||||
false
|
||||
@@ -258,7 +270,7 @@ module Linguist
|
||||
def language
|
||||
if text?
|
||||
# First see if there is a Language for the extension
|
||||
if Language.find_by_extension(pathname.extname)
|
||||
if Language.find_by_extension(extname)
|
||||
pathname.language
|
||||
|
||||
# Try to detect Language from shebang line
|
||||
|
||||
Reference in New Issue
Block a user