Simplify boolean attribute handling

This commit is contained in:
Brandon Keepers
2014-09-29 14:13:44 -04:00
parent 6edf4498ce
commit 1c6483a499
2 changed files with 10 additions and 18 deletions

View File

@@ -30,29 +30,21 @@ module Linguist
end
def vendored?
if git_attributes['linguist-vendored']
return result_for_key('linguist-vendored')
if attr = git_attributes['linguist-vendored']
return boolean_attribute(attr)
else
return super
end
end
def generated?
if git_attributes['linguist-generated']
return result_for_key('linguist-generated')
if attr = git_attributes['linguist-generated']
return boolean_attribute(attr)
else
return super
end
end
def result_for_key(keyname)
key = git_attributes[keyname]
if key == "false" || key.nil?
return false
else
return true
end
end
def language
return @language if defined?(@language)
@@ -74,6 +66,12 @@ module Linguist
end
protected
# Returns true if the attribute is present and not the string "false".
def boolean_attribute(attr)
attr != "false"
end
def load_blob!
@data, @size = Rugged::Blob.to_buffer(repository, oid, MAX_SIZE) if @data.nil?
end