Class: Gitoe::Repo::Rugged_backend
- Inherits:
-
Object
- Object
- Gitoe::Repo::Rugged_backend
- Includes:
- Rugged
- Defined in:
- lib/gitoe/repo/rugged.rb
Direct Known Subclasses
Instance Method Summary collapse
- #commit(sha1) ⇒ Object
-
#initialize(path) ⇒ Rugged_backend
constructor
A new instance of Rugged_backend.
- #path ⇒ Object
- #ref(name) ⇒ Object
- #refs ⇒ Object
Constructor Details
#initialize(path) ⇒ Rugged_backend
Returns a new instance of Rugged_backend.
20 21 22 |
# File 'lib/gitoe/repo/rugged.rb', line 20 def initialize path @rugged = Repository.new path end |
Instance Method Details
#commit(sha1) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/gitoe/repo/rugged.rb', line 28 def commit sha1 # $gitoe_log[ "query #{sha1}" ] obj = @rugged.lookup(sha1) case obj when Commit commit_to_hash obj else raise "#{obj} is not commit" end end |
#path ⇒ Object
24 25 26 |
# File 'lib/gitoe/repo/rugged.rb', line 24 def path @rugged.path end |
#ref(name) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/gitoe/repo/rugged.rb', line 47 def ref(name) resolved = Reference.lookup(@rugged, name) basic = { :name => resolved.name , :target => resolved.target , :type => resolved.type , :log => reflog( resolved ), } case name when %r{^refs/remotes/}, %r{^refs/heads/}, 'HEAD' extra = {} when %r{^refs/tags/} extra = deref_tag(resolved) else raise "error parsing ref <ref>" end basic.merge(extra).freeze end |
#refs ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/gitoe/repo/rugged.rb', line 39 def refs Hash[ ref_names.map do |ref_name| [ ref_name, ref(ref_name) ] end ] end |