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.

So, for example, you might want to check out tag 'v0.1.0' and tag 'v0.2.0' to
run the tests of both tags, or benchmark code from one commit against another,
those kind of tasks.

WHY?

So I could:

  • 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