Sha256: 52ad8790795d8e067536bc94ffda63b2cf895e8345ce89815759c9628d583b85

Contents?: true

Size: 729 Bytes

Versions: 2

Compression:

Stored size: 729 Bytes

Contents

require 'grit'

module Markout

  class History
    attr_reader :repo, :revisions
    def initialize(document, options={})
      @document = document
      @options  = options
      load_repository
      load_revisions
      # puts @revisions.first.inspect
    end

    private
    def git_dir
      @options[:git_dir] || @document.base_path.join('.git')
    end
    def load_repository
      # TODO : raise when no Git repo available
      @repo = Grit::Repo.new(git_dir, :is_bare => !git_dir.nil?)
    end
    def load_revisions
      @repo ||= load_repository
      commits = @repo.log 'master', @document.filename
      @revisions = commits.collect { |c| Markout::Revision.new(c) }
      # puts @revisions
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
karmi-markout-0.1.1 lib/markout/history.rb
karmi-markout-0.1.2 lib/markout/history.rb