aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/irb.rb
blob: 4cd3d4c9ec771c86de8d50d3f17fdd030ac5fa60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#:  * `irb` [`--examples`]:
#:    Enter the interactive Homebrew Ruby shell.
#:
#:    If `--examples` is passed, several examples will be shown.

require "formula"
require "keg"
require "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
    $LOAD_PATH.unshift("#{HOMEBREW_LIBRARY_PATH}/cask/lib")
    require "hbc"

    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?)"
    else
      ohai "Interactive Homebrew Shell"
      puts "Example commands available with: brew irb --examples"
      IRB.start
    end
  end
end