class PTLog::TagList

Public Class Methods

new(git, since) click to toggle source
# File lib/ptlog/git/tags_list.rb, line 5
def initialize(git, since)
  @list = git.lib.ordered_tags + ['HEAD']
  @since = since
  @first_commit = git.lib.first_commit
end

Public Instance Methods

each(options = {}) { |e| ... } click to toggle source
# File lib/ptlog/git/tags_list.rb, line 11
def each(options = {})
  list_after_item = @list[@list.index(@since), @list.size]

  if block_given?
    list_after_item.reverse.each { |e| yield(e) }
  else
    Enumerator.new(list_after_item.reverse, :each)
  end
end
next_to(name) click to toggle source
# File lib/ptlog/git/tags_list.rb, line 21
def next_to(name)
  @list[@list.index(name) + 1] || 'HEAD'
end
prev_to(name) click to toggle source
# File lib/ptlog/git/tags_list.rb, line 25
def prev_to(name)
  0 < @list.index(name) && @list[@list.index(name) - 1] or @first_commit
end