Class: SimpleGit::Revwalk
- Inherits:
-
Object
- Object
- SimpleGit::Revwalk
- Includes:
- Enumerable
- Defined in:
- lib/simple_git/revwalk.rb
Defined Under Namespace
Classes: RevwalkWrapper
Instance Attribute Summary collapse
-
#ptr ⇒ Object
Returns the value of attribute ptr.
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(repo) ⇒ Revwalk
constructor
A new instance of Revwalk.
- #push_head ⇒ Object
- #sort(sort_type) ⇒ Object
Constructor Details
#initialize(repo) ⇒ Revwalk
Returns a new instance of Revwalk.
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/simple_git/revwalk.rb', line 7 def initialize(repo) wrapper = RevwalkWrapper.new ret = Git2.git_revwalk_new(wrapper, repo.ptr) if ret != 0 error = Git2::GitError.new(Git2.giterr_last) raise ArgumentError, error[:message].read_string end @repo = repo @ptr = wrapper[:revwalk] ObjectSpace.define_finalizer(self, self.class.finalize(@ptr)) end |
Instance Attribute Details
#ptr ⇒ Object
Returns the value of attribute ptr.
5 6 7 |
# File 'lib/simple_git/revwalk.rb', line 5 def ptr @ptr end |
Instance Method Details
#each ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/simple_git/revwalk.rb', line 29 def each oid = Oid.new while Git2.git_revwalk_next(oid.ptr, @ptr) == 0 yield Commit.new(@repo, oid) end end |
#push_head ⇒ Object
25 26 27 |
# File 'lib/simple_git/revwalk.rb', line 25 def push_head Git2.git_revwalk_push_head(@ptr) end |
#sort(sort_type) ⇒ Object
21 22 23 |
# File 'lib/simple_git/revwalk.rb', line 21 def sort(sort_type) Git2.git_revwalk_sorting(@ptr, sort_type) end |