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
92 93 94 95 |
# File 'lib/libdolt/repository_lookup.rb', line 92 def archive(repo, ref, format) repository = resolve_repository(repo) @archiver.archive(repository, ref, format) end |
#blame(repo, ref, path) ⇒ Object
61 62 63 64 65 66 67 |
# File 'lib/libdolt/repository_lookup.rb', line 61 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 37 38 39 40 41 42 |
# File 'lib/libdolt/repository_lookup.rb', line 30 def blob(repo, ref, path) repository = resolve_repository(repo) blob = repository.rev_parse(ref) if !blob.is_a?(Rugged::Blob) blob = repository.rev_parse("#{ref}:#{path}") end tpl_data(repository, ref, path, { :blob => blob, :filemode => filemode(repository, ref, path) }) end |
#history(repo, ref, path, count) ⇒ Object
69 70 71 72 73 74 |
# File 'lib/libdolt/repository_lookup.rb', line 69 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
76 77 78 79 80 81 82 83 |
# File 'lib/libdolt/repository_lookup.rb', line 76 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
97 98 99 |
# File 'lib/libdolt/repository_lookup.rb', line 97 def repositories repo_resolver.all end |
#resolve_repository(repo) ⇒ Object
101 102 103 |
# File 'lib/libdolt/repository_lookup.rb', line 101 def resolve_repository(repo) ResolvedRepository.new(repo, repo_resolver.resolve(repo)) end |
#rev_parse_oid(repo, ref) ⇒ Object
105 106 107 |
# File 'lib/libdolt/repository_lookup.rb', line 105 def rev_parse_oid(repo, ref) resolve_repository(repo).rev_parse_oid(ref) end |
#tree(repo, ref, path) ⇒ Object
44 45 46 47 48 49 |
# File 'lib/libdolt/repository_lookup.rb', line 44 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
51 52 53 54 55 56 57 58 59 |
# File 'lib/libdolt/repository_lookup.rb', line 51 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
85 86 87 88 89 90 |
# File 'lib/libdolt/repository_lookup.rb', line 85 def tree_history(repo, ref, path, count) repository = resolve_repository(repo) tpl_data(repository, ref, path, { :tree => repository.tree_history(ref, path, count) }) end |