OVERVIEW

Project Ed
Homepage https://github.com/robgleeson/ed
Wiki https://github.com/robgleeson/ed/wiki
Documentation http://rubydoc.info/gems/ed/frames
Author Rob Gleeson

DESCRIPTION

A Domain Specific Language(DSL) that you can use to talk to Git from Ruby.
It isn't intended to be a full interface to Git, but a very small subset of
one that you can use to check out commits and then run Ruby code in the
context of those commits.

USE CASES

  • Run test suites against different tags, commits, and branches inside Ruby.
  • Profile different tags, commits, and branches against one another inside Ruby.
  • Explore code in different tags, commits, and branches using a REPL like Pry.

EXAMPLE

The example below shows how you can run a test suite against two different tags from a remote repository.
The examples directory has a few other examples you might want to check out.

1.

Travel time and run the tests for tag '0.1.0' and tag '0.2.0'.

Ed.new "git://github.com/robgleeson/observe.git" do  
  tag "v0.1.0" do |path|
    Dir.chdir(path) do 
      system "rake test"
    end
  end

  tag "v0.2.0" do |path|
    Dir.chdir(path) do
      system "rake test"
    end
  end
end

PLATFORM SUPPORT

supported

  • Rubinius
  • CRuby (1.8 / 1.9)
  • JRuby
  • MacRuby

INSTALL

gem install ed

LICENSE

See LICENSE.txt