Project

shellable

0.0
Low commit activity in last 3 years
No release in over a year
Open a REPL inside any Ruby object
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0
>= 0
>= 0
 Project Readme

Shellable Build Status Gem Version

Open a REPL within the context of any Ruby object. Originally written for the TimeBoss gem.

Installation

Add this line to your application's Gemfile:

# update with the version of your choice
gem 'shellable'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install shellable

Usage

Imagine you're building a new Ruby library, and you'd like to provide users with a way to experiment with that new library from the inside. When developing the TimeBoss gem, I wanted to create a Rake task to do just that.

require 'timeboss/calendars'

calendar = TimeBoss::Calendars[:broadcast]
# => #<TimeBoss::Calendars::Broadcast:0x007fea08a40408 @basis=TimeBoss::Calendars::Broadcast::Basis>

Once the desired target object for our REPL has been created, we can simply make it "shellable":

require 'shellable'
Shellable.open(calendar)

To check out a real-life example, head over to the TimeBoss timeboss:calendars:*:repl task definition.

$ rake timeboss:calendars:broadcast:repl
2.4.1 :001 > this_week
 => #<TimeBoss::Calendar::Week start_date=2020-08-10, end_date=2020-08-16>
2.4.1 :002 > parse('2020Q4..2021Q2')
 => #<TimeBoss::Calendar::Period[#<TimeBoss::Calendar::Quarter start_date=2020-09-28, end_date=2020-12-27>..#<TimeBoss::Calendar::Quarter start_date=2021-03-29, end_date=2021-06-27>] start_date=2020-09-28, end_date=2021-06-27>
2.4.1 :003 >

Problems?

Please submit an issue. We'll figure out how to get you up and running with Shellable as smoothly as possible.