Sha256: f8df70dd58032338e2e7901bb61c59c3a8180558e7e5b02f00d31caab23e9899

Contents?: true

Size: 1.37 KB

Versions: 186

Compression:

Stored size: 1.37 KB

Contents

require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))

class MathCommands < Pry::CommandBase
  command "greet", "Greet a person, e.g: greet john" do |name|
    output.puts "Good afternoon #{name.capitalize}! Do you like Math?"
  end

  command "add", "Add a list of numbers together, e.g: add 1 2 3 4" do |*args|
    output.puts "Total: #{args.map(&:to_f).inject(&:+)}"
  end

  command "multiply", "Multiply a list of numbers together, e.g: multiply 1 2 3 4" do |*args|
    output.puts "Total: #{args.map(&:to_f).inject(&:*)}"
  end

  # Explicitly giving a description of "" to prevent command being
  # displayed in 'help'
  command "exit", "" do
    throw :breakout, 0
  end

  # Bring in the "!" method from Pry::Commands
  import_from Pry::Commands, "!"
end

# Since we provide math commands, let's have mathematical
# before_session and after_session hooks, and a mathematical prompt
math_prompt = [proc { "math> " }, proc { "math* " }]
math_hooks = {
  :before_session => proc { |output, *| output.puts "Welcome! Let's do some math! Type 'help' for a list of commands." },
  :after_session => proc { |output, *| output.puts "Goodbye!" }
}

# Start a Pry session using the commands defined in MyCommands
# Type 'help' in Pry to get a list of the commands and their descriptions
Pry.start(TOPLEVEL_BINDING, :commands => MathCommands, :prompt => math_prompt, :hooks => math_hooks)

Version data entries

186 entries across 186 versions & 1 rubygems

Version Path
pry-0.9.10 examples/example_commands.rb
pry-0.9.10-i386-mswin32 examples/example_commands.rb
pry-0.9.10-i386-mingw32 examples/example_commands.rb
pry-0.9.10-java examples/example_commands.rb
pry-0.9.10pre1 examples/example_commands.rb
pry-0.9.10pre1-i386-mswin32 examples/example_commands.rb
pry-0.9.10pre1-i386-mingw32 examples/example_commands.rb
pry-0.9.10pre1-java examples/example_commands.rb
pry-0.10.pre.1-i386-mingw32 examples/example_commands.rb
pry-0.10.pre.1-java examples/example_commands.rb
pry-0.10.pre.1-i386-mswin32 examples/example_commands.rb
pry-0.9.9.6 examples/example_commands.rb
pry-0.9.9.6-i386-mswin32 examples/example_commands.rb
pry-0.9.9.6-i386-mingw32 examples/example_commands.rb
pry-0.9.9.6-java examples/example_commands.rb
pry-0.9.9.6pre2 examples/example_commands.rb
pry-0.9.9.6pre2-i386-mswin32 examples/example_commands.rb
pry-0.9.9.6pre2-i386-mingw32 examples/example_commands.rb
pry-0.9.9.6pre2-java examples/example_commands.rb
pry-0.9.9.6pre1 examples/example_commands.rb