Sha256: 830eb3b8df96c050364eb418d8c6e665b3b7571aab4206fb71e28fb386c81054
Contents?: true
Size: 1 KB
Versions: 2
Compression:
Stored size: 1 KB
Contents
require 'linguist/blob_helper' require 'linguist/blob' module Linguist # A FileBlob is a wrapper around a File object to make it quack # like a Grit::Blob. It provides the basic interface: `name`, # `data`, `path` and `size`. class FileBlob < Blob include BlobHelper # Public: Initialize a new FileBlob from a path # # path - A path String that exists on the file system. # base_path - Optional base to relativize the path # # Returns a FileBlob. def initialize(path, base_path = nil) @fullpath = path @path = base_path ? path.sub("#{base_path}/", '') : path end # Public: Read file permissions # # Returns a String like '100644' def mode @mode ||= File.stat(@fullpath).mode.to_s(8) end # Public: Read file contents. # # Returns a String. def data @data ||= File.read(@fullpath) end # Public: Get byte size # # Returns an Integer. def size @size ||= File.size(@fullpath) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
github-linguist-5.3.3 | lib/linguist/file_blob.rb |
github-linguist-5.3.2 | lib/linguist/file_blob.rb |