Sha256: e761ef12bef1077bf809229c82da915ad6b7cbb625008739d10b93b8f0453af0

Contents?: true

Size: 922 Bytes

Versions: 1

Compression:

Stored size: 922 Bytes

Contents

require 'grit'
require 'yaml'
require 'readline'
require 'launchy'

class GitPresenter
  require 'git_presenter/presentation'
  require 'git_presenter/controller'
  require 'git_presenter/slide'

  def initialize(current_dir, interactive=true)
    @controller = Controller.new(current_dir)
    @interactive = interactive
  end

  def execute(command)
    if command == 'init'
      @controller.initialise_presentation
    elsif command == 'start'
      @presentation = @controller.start_presentation
      if @interactive
        enter_run_loop
      end
    elsif command == 'update'
      @controller.update_presentation
    else
      puts @presentation.execute(command)
    end
    @presentation
  end

  private

  def enter_run_loop
    while command = Readline.readline(@presentation.status_line, true)
      result = @presentation.execute(command)
      exit if result == :exit
      puts result
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
git_presenter-0.4.0 lib/git_presenter.rb