Class: SimpleGit::Reference
- Inherits:
-
Object
- Object
- SimpleGit::Reference
show all
- Defined in:
- lib/simple_git/reference.rb
Defined Under Namespace
Classes: ReferenceWrapper
Instance Attribute Summary collapse
Instance Method Summary
collapse
Instance Attribute Details
Returns the value of attribute ptr.
3
4
5
|
# File 'lib/simple_git/reference.rb', line 3
def ptr
@ptr
end
|
Instance Method Details
#branch_name ⇒ Object
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/simple_git/reference.rb', line 19
def branch_name
name_wrapper = FFI::MemoryPointer.new(:pointer)
ret = Git2.git_branch_name(name_wrapper, @ptr)
if ret != 0
error = Git2::GitError.new(Git2.giterr_last)
raise ArgumentError, error[:message].read_string
end
name_wrapper.read_pointer.read_string
end
|
#from_head(repo) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/simple_git/reference.rb', line 5
def from_head(repo)
wrapper = ReferenceWrapper.new
ret = Git2.git_repository_head(wrapper, repo.ptr)
if ret != 0
error = Git2::GitError.new(Git2.giterr_last)
raise ArgumentError, error[:message].read_string
end
@ptr = wrapper[:ref]
ObjectSpace.define_finalizer(self, self.class.finalize(@ptr))
self
end
|
#to_object ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/simple_git/reference.rb', line 30
def to_object
wrapper = SimpleGit::Object::ObjectWrapper.new
ret = Git2.git_reference_peel(wrapper, @ptr, :GIT_OBJ_ANY)
if ret != 0
error = Git2::GitError.new(Git2.giterr_last)
raise ArgumentError, error[:message].read_string
end
Object.new.from_wrapper(wrapper)
end
|