Sha256: 56ca19fdec3dac071d7d6a60e36aa7271496de8a5283f0fb876f4b69d5fa8435

Contents?: true

Size: 910 Bytes

Versions: 26

Compression:

Stored size: 910 Bytes

Contents

namespace :praxis do
  desc "Run interactive pry/irb console"
  task :console do
    have_pry = false

    begin
      # Use pry if available; require pry _before_ environment to maximize
      # debuggability.
      require 'pry'
      have_pry = true
    rescue LoadError
      # Fall back on irb
      require 'irb'
    end

    Rake::Task['praxis:environment'].invoke

    if have_pry
      Praxis::Application.instance.pry
    else
      # Keep IRB.setup from complaining about bad ARGV options
      old_argv = ARGV.dup
      ARGV.clear
      IRB.setup nil
      ARGV.concat(old_argv)

      # Allow reentrant IRB
      IRB.conf[:MAIN_CONTEXT] = IRB::Irb.new.context
      require 'irb/ext/multi-irb'

      # Use some special initialization magic to ensure that 'self' in the
      # IRB session refers to Praxis::Application.instance.
      IRB.irb(nil, Praxis::Application.instance)
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
praxis-2.0.pre.18 lib/praxis/tasks/console.rb
praxis-2.0.pre.17 lib/praxis/tasks/console.rb
praxis-2.0.pre.16 lib/praxis/tasks/console.rb
praxis-2.0.pre.15 lib/praxis/tasks/console.rb
praxis-2.0.pre.14 lib/praxis/tasks/console.rb
praxis-2.0.pre.13 lib/praxis/tasks/console.rb
praxis-2.0.pre.12 lib/praxis/tasks/console.rb
praxis-2.0.pre.11 lib/praxis/tasks/console.rb
praxis-2.0.pre.10 lib/praxis/tasks/console.rb
praxis-2.0.pre.9 lib/praxis/tasks/console.rb
praxis-2.0.pre.8 lib/praxis/tasks/console.rb
praxis-2.0.pre.7 lib/praxis/tasks/console.rb
praxis-2.0.pre.6 lib/praxis/tasks/console.rb
praxis-2.0.pre.5 lib/praxis/tasks/console.rb
praxis-2.0.pre.4 lib/praxis/tasks/console.rb
praxis-2.0.pre.3 lib/praxis/tasks/console.rb
praxis-2.0.pre.2 lib/praxis/tasks/console.rb
praxis-2.0.pre.1 lib/praxis/tasks/console.rb
praxis-0.22.pre.2 lib/praxis/tasks/console.rb
praxis-0.22.pre.1 lib/praxis/tasks/console.rb