KAIZEN Production 환경의 Rails Console

5971 단어 RubyRails
제품 환경과 개발자 환경에서 여러 개의 터미널을 열 때 조심하지 않아 제품 환경User.delete_all에서 무엇을 했는지 울 수밖에 없었다.
이러한 상황을 피하기 위해서, 우리는pry의prompt를 확장하여, 자신이 현재 어느 환경의 컨트롤러를 만지고 있는지 알게 했다.
다음은 Gemfile에 쓰여 있습니다.
Gemfile
gem 'pry', require: false
gem 'pry-rails', require: 'pry-rails/console'
실행 중인 사이트에서pry를 읽으면 쓸모없는 메모리를 사용하기 때문에 반드시 설치해야 한다require: false.
제품에서 pry-debugger등pry 확장이 필요하지 않기 때문에 group :development에 미리 넣습니다.
config/initializers/pry.rb
if defined?(Rails::Console)
  require 'pry'
  env = if Rails.env.production?
    Pry::Helpers::Text.red(Rails.env)
  elsif Rails.env.development?
    Rails.env
  else
    Pry::Helpers::Text.purple(Rails.env)
  end
  Pry.config.prompt = [
    proc {|target_self, nest_level, pry|
      nested = (nest_level.zero?) ? '' : ":#{nest_level}"
      "[#{pry.input_array.size}] #{env} #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}(#{Pry.view_clip(target_self)})#{nested}> "
    },
    proc {|target_self, nest_level, pry|
      nested = (nest_level.zero?) ?  '' : ":#{nest_level}"
      "[#{pry.input_array.size}] #{env} #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}(#{Pry.view_clip(target_self)})#{nested}* "
    }
  ]
end
이렇게 되면 힌트가 나타날 것이니 조작 오류를 걱정하지 마세요!

좋은 웹페이지 즐겨찾기