Project

ripl-play

0.01
No commit activity in last 3 years
No release in over 3 years
A ripl plugin to playback ruby code in ripl coming from files, urls or stdin. Also records a ripl session for playback later.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0.3.0
 Project Readme

Description¶ ↑

A ripl plugin to playback ruby code in ripl coming from files, urls or stdin. Also records a ripl session for playback later.

Install¶ ↑

Install the gem with:

sudo gem install ripl-play

To be able to playback multi-line code:

sudo gem install ripl-multi_line

# Add to ~/.riplrc
require 'ripl/multi_line'

Usage¶ ↑

ripl play plays its input, line by line, as if each line were input by a user.

To play a url:

$ ripl play https://gist.github.com/725338
>> a = 10 ** 2
=> 100
>> a + 10
=> 110
>>

To playback a url quietly (i.e. you just want to load the url into ripl):

$ ripl play https://gist.github.com/725338 -q
>> a = 10 ** 2
>> a + 10
>>

To playback a url with relevant gems automatically installed (you may want to create an rvm gemset before doing this)

$ ripl play https://gist.github.com/622668 -i
Can I install the following gems: tilt, erubis ? ([y]/n)
....

Urls should point to raw text except for gists and any github file url (like this) which are autoconverted.

ripl play can also playback files or from stdin:

# Plays script.rb line by line
$ ripl play script.rb
>> ...

# Plays back last 10 lines of irb history
$ tail -10 ~/.irb_history | ripl play
>> ...

If you want to share a ripl session for playback later, start ripl with record:

# By default record saves to ripl_tape. Pass an argument to explicitly name the file
$ ripl record
>> :do_something
=> :do_something
>> ...
=> ...
<Control-D>

After exiting, the file ripl_tape will contain all of your inputs from that session. Now anyone can playback that session with ripl play:

# play defaults to ripl_tape
# Assuming you're in the same directory as ripl_tape
$ ripl play
>> :do_something
=> :do_something
>> ...
=> ...
>>