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
83 84 85 86 |
# File 'lib/libdolt/repository_lookup.rb', line 83 def archive(repo, ref, format) repository = resolve_repository(repo) @archiver.archive(repository, ref, format) end |
#blame(repo, ref, path) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/libdolt/repository_lookup.rb', line 53 def blame(repo, ref, path) repository = resolve_repository(repo) tpl_data(repository, ref, path, { :blame => repository.blame(ref, path) }) end |
#blob(repo, ref, path) ⇒ Object
30 31 32 33 34 35 |
# 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}") }) end |
#history(repo, ref, path, count) ⇒ Object
60 61 62 63 64 65 |
# File 'lib/libdolt/repository_lookup.rb', line 60 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
67 68 69 70 71 72 73 74 |
# File 'lib/libdolt/repository_lookup.rb', line 67 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
88 89 90 |
# File 'lib/libdolt/repository_lookup.rb', line 88 def repositories repo_resolver.all end |
#resolve_repository(repo) ⇒ Object
92 93 94 |
# File 'lib/libdolt/repository_lookup.rb', line 92 def resolve_repository(repo) ResolvedRepository.new(repo, repo_resolver.resolve(repo)) end |
#rev_parse_oid(repo, ref) ⇒ Object
96 97 98 |
# File 'lib/libdolt/repository_lookup.rb', line 96 def rev_parse_oid(repo, ref) resolve_repository(repo).rev_parse_oid(ref) end |
#tree(repo, ref, path) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/libdolt/repository_lookup.rb', line 37 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
44 45 46 47 48 49 50 51 |
# File 'lib/libdolt/repository_lookup.rb', line 44 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 end |
#tree_history(repo, ref, path, count) ⇒ Object
76 77 78 79 80 81 |
# File 'lib/libdolt/repository_lookup.rb', line 76 def tree_history(repo, ref, path, count) repository = resolve_repository(repo) tpl_data(repository, ref, path, { :tree => repository.tree_history(ref, path, count) }) end |