module AmazingRailsConsole::Prompts
Public Class Methods
choose_prompt_for_pry_version()
click to toggle source
# File lib/amazing_rails_console/prompts.rb, line 5 def self.choose_prompt_for_pry_version old_prompt = Pry.config.prompt Pry.config.prompt = if Pry::VERSION && (Gem::Version.new(Pry::VERSION) >= Gem::Version.new('0.13.0')) post_pry_13_prompt(old_prompt) else pre_pry_13_prompt(old_prompt) end end
post_pry_13_prompt(old_prompt)
click to toggle source
Pry 0.13.0 introduces new syntax for registering a prompt. github.com/pry/pry/wiki/Customization-and-configuration#Config_prompt
# File lib/amazing_rails_console/prompts.rb, line 25 def self.post_pry_13_prompt(old_prompt) Pry::Prompt.new( :amazing_rails_console, # name "amazing_rails_console default prompt", # description [ proc { |*a| # "main" prompt "#{Rails.env.classify} #{old_prompt.wait_proc.call(*a)}" }, proc { |*a| # "wait" prompt (multiline input continuation) "#{Rails.env.classify} #{old_prompt.incomplete_proc.call(*a)}" } ] ) end
pre_pry_13_prompt(old_prompt)
click to toggle source
Define a custom prompt using pre pry-0.13.0 syntax
# File lib/amazing_rails_console/prompts.rb, line 16 def self.pre_pry_13_prompt(old_prompt) [ proc { |*a| "#{Rails.env.classify} #{old_prompt.first.call(*a)}" }, proc { |*a| "#{Rails.env.classify} #{old_prompt.second.call(*a)}" } ] end