Commit 61d74bb7ab2dfd64998d7a0b1cff16ff8043ff51
- Date: Thu May 15 21:15:35 +0000 2008
- Committer: David A. Cuadrado (krawek@gmail.com)
- Author: David A. Cuadrado (krawek@gmail.com)
- Commit SHA1: 61d74bb7ab2dfd64998d7a0b1cff16ff8043ff51
- Tree SHA1: cbdef43c8d3a3aa8239c31406a4b1f6c7b751118
Added support for git to Ohcount
Commit diff
| |   |
| 1 | |
| 2 | module Ohcount |
| 3 | |
| 4 | class GitFileContext |
| 5 | attr_reader :filename, :branch, :git_dir, :file_location |
| 6 | attr_accessor :filenames |
| 7 | |
| 8 | def initialize(git_dir, filename, filenames = [], branch = "HEAD") |
| 9 | @git_dir = git_dir |
| 10 | @branch = branch |
| 11 | @filenames = filenames |
| 12 | @filename = filename |
| 13 | @file_location = @filename |
| 14 | end |
| 15 | |
| 16 | def filenames |
| 17 | if @filenames.empty? |
| 18 | @filenames = `git --git-dir=#{@git_dir} ls-tree -r --name-only --full-name #{@branch}`.split('\n') |
| 19 | end |
| 20 | @filenames |
| 21 | end |
| 22 | |
| 23 | def contents |
| 24 | @cached_contents ||= `git --git-dir=#{@git_dir} show #{@branch}:#{@filename}` |
| 25 | end |
| 26 | end |
| 27 | |
| 28 | end |
| toggle raw diff |
--- /dev/null
+++ b/lib/ohcount/git_file_context.rb
@@ -0,0 +1,28 @@
+
+module Ohcount
+
+class GitFileContext
+ attr_reader :filename, :branch, :git_dir, :file_location
+ attr_accessor :filenames
+
+ def initialize(git_dir, filename, filenames = [], branch = "HEAD")
+ @git_dir = git_dir
+ @branch = branch
+ @filenames = filenames
+ @filename = filename
+ @file_location = @filename
+ end
+
+ def filenames
+ if @filenames.empty?
+ @filenames = `git --git-dir=#{@git_dir} ls-tree -r --name-only --full-name #{@branch}`.split('\n')
+ end
+ @filenames
+ end
+
+ def contents
+ @cached_contents ||= `git --git-dir=#{@git_dir} show #{@branch}:#{@filename}`
+ end
+end
+
+end |