diff options
Diffstat (limited to 'Library/Homebrew/dev-cmd')
| -rw-r--r-- | Library/Homebrew/dev-cmd/irb.rb | 54 | 
1 files changed, 54 insertions, 0 deletions
| diff --git a/Library/Homebrew/dev-cmd/irb.rb b/Library/Homebrew/dev-cmd/irb.rb new file mode 100644 index 000000000..700cbe009 --- /dev/null +++ b/Library/Homebrew/dev-cmd/irb.rb @@ -0,0 +1,54 @@ +#:  * `irb` [`--examples`] [`--pry`]: +#:    Enter the interactive Homebrew Ruby shell. +#: +#:    If `--examples` is passed, several examples will be shown. +#:    If `--pry` is passed or HOMEBREW_PRY is set, pry will be +#:    used instead of irb. + +class Symbol +  def f(*args) +    Formulary.factory(to_s, *args) +  end +end + +class String +  def f(*args) +    Formulary.factory(self, *args) +  end +end + +module Homebrew +  module_function + +  def irb +    if ARGV.include? "--examples" +      puts "'v8'.f # => instance of the v8 formula" +      puts ":hub.f.installed?" +      puts ":lua.f.methods - 1.methods" +      puts ":mpd.f.recursive_dependencies.reject(&:installed?)" +      return +    end + +    if ARGV.pry? +      Homebrew.install_gem_setup_path! "pry" +      require "pry" +      Pry.config.prompt_name = "brew" +    else +      require "irb" +    end + +    require "formula" +    require "keg" + +    $LOAD_PATH.unshift("#{HOMEBREW_LIBRARY_PATH}/cask/lib") +    require "hbc" + +    ohai "Interactive Homebrew Shell" +    puts "Example commands available with: brew irb --examples" +    if ARGV.pry? +      Pry.start +    else +      IRB.start +    end +  end +end | 
