Class: Dolt::RepositoryLookup
- Inherits:
-
Object
- Object
- Dolt::RepositoryLookup
- Defined in:
- lib/libdolt/repository_lookup.rb
Instance Method Summary collapse
- #archive(repo, ref, format) ⇒ Object
- #blame(repo, ref, path) ⇒ Object
- #blob(repo, ref, path) ⇒ Object
- #history(repo, ref, path, count) ⇒ Object
-
#initialize(repo_resolver, archiver = nil) ⇒ RepositoryLookup
constructor
A new instance of RepositoryLookup.
- #refs(repo) ⇒ Object
- #repositories ⇒ Object
- #resolve_repository(repo) ⇒ Object
- #rev_parse_oid(repo, ref) ⇒ Object
- #tree(repo, ref, path) ⇒ Object
- #tree_entry(repo, ref, path) ⇒ Object
- #tree_history(repo, ref, path, count) ⇒ Object
Constructor Details
#initialize(repo_resolver, archiver = nil) ⇒ RepositoryLookup
Returns a new instance of RepositoryLookup.
25 26 27 28 |
# File 'lib/libdolt/repository_lookup.rb', line 25 def initialize(repo_resolver, archiver = nil) @repo_resolver = repo_resolver @archiver = archiver end |
Instance Method Details
#archive(repo, ref, format) ⇒ Object
86 87 88 89 |
# File 'lib/libdolt/repository_lookup.rb', line 86 def archive(repo, ref, format) repository = resolve_repository(repo) @archiver.archive(repository, ref, format) end |
#blame(repo, ref, path) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/libdolt/repository_lookup.rb', line 55 def blame(repo, ref, path) repository = resolve_repository(repo) tpl_data(repository, ref, path, { :blame => repository.blame(ref, path), :filemode => filemode(repository, ref, path) }) end |
#blob(repo, ref, path) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/libdolt/repository_lookup.rb', line 30 def blob(repo, ref, path) repository = resolve_repository(repo) tpl_data(repository, ref, path, { :blob => repository.rev_parse("#{ref}:#{path}"), :filemode => filemode(repository, ref, path) }) end |
#history(repo, ref, path, count) ⇒ Object
63 64 65 66 67 68 |
# File 'lib/libdolt/repository_lookup.rb', line 63 def history(repo, ref, path, count) repository = resolve_repository(repo) tpl_data(repository, ref, path, { :commits => repository.log(ref, path, count) }) end |
#refs(repo) ⇒ Object
70 71 72 73 74 75 76 77 |
# File 'lib/libdolt/repository_lookup.rb', line 70 def refs(repo) repository = resolve_repository(repo) names = repository.refs.map(&:name) { :tags => (repository, names, :tags), :heads => (repository, names, :heads) }.merge(repository.to_hash) end |
#repositories ⇒ Object
91 92 93 |
# File 'lib/libdolt/repository_lookup.rb', line 91 def repositories repo_resolver.all end |
#resolve_repository(repo) ⇒ Object
95 96 97 |
# File 'lib/libdolt/repository_lookup.rb', line 95 def resolve_repository(repo) ResolvedRepository.new(repo, repo_resolver.resolve(repo)) end |
#rev_parse_oid(repo, ref) ⇒ Object
99 100 101 |
# File 'lib/libdolt/repository_lookup.rb', line 99 def rev_parse_oid(repo, ref) resolve_repository(repo).rev_parse_oid(ref) end |
#tree(repo, ref, path) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/libdolt/repository_lookup.rb', line 38 def tree(repo, ref, path) repository = resolve_repository(repo) tpl_data(repository, ref, path, { :tree => repository.tree(ref, path) }).merge(:readme => readme(repo, ref, path)) end |
#tree_entry(repo, ref, path) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/libdolt/repository_lookup.rb', line 45 def tree_entry(repo, ref, path) repository = resolve_repository(repo) result = repository.tree_entry(ref, path) key = result.class.to_s.match(/Blob/) ? :blob : :tree hash = tpl_data(repository, ref, path, { key => result, :type => key }) hash[:readme] = readme(repo, ref, path) if key == :tree hash[:filemode] = filemode(repository, ref, path) if key == :blob hash end |
#tree_history(repo, ref, path, count) ⇒ Object
79 80 81 82 83 84 |
# File 'lib/libdolt/repository_lookup.rb', line 79 def tree_history(repo, ref, path, count) repository = resolve_repository(repo) tpl_data(repository, ref, path, { :tree => repository.tree_history(ref, path, count) }) end |