여러 개의 외부 보석을 사용하는 Thor CLI 응용 프로그램을 만들었습니다. 내가 그것을 실행할 때 나는 내 출력을 어지럽히는 그 보석으로부터 경고 메시지를받습니다. 어떻게 이것을 억제 할 수 있습니까?Thor CLI 앱에서 경고 메시지 표시 안 함
명확한 설명 : 나는 메시지만을 경고를 억제하지만, 여전히 오류 및 puts
결과를 포함 내 응용 프로그램의 표준 출력을 수신 할.
예를 들어, Sinatra 앱에서이 같은 보석을 사용하면 Thor과 마찬가지로 보석 코드에서 나오는 모든 경고 메시지가 표시되지 않습니다. (http://willschenk.com/making-a-command-line-utility-with-gems-and-thor/에서 파생)
예 우리가 safe_yaml
보석을 필요로하고 있기 때문에, 우리는 명령을 실행할 때마다 우리는 우리의 출력에 다음과 같은 경고를 얻을 수 있습니다이 경우
require 'thor'
require 'safe_yaml'
module Socialinvestigator
class HammerOfTheGods < Thor
desc "hello NAME", "This will greet you"
long_desc <<-HELLO_WORLD
`hello NAME` will print out a message to the person of your choosing.
HELLO_WORLD
option :upcase
def hello(name)
greeting = "Hello, #{name}"
greeting.upcase! if options[:upcase]
puts greeting
end
end
end
:
/usr/local/lib/ruby/gems/2.3.0/gems/safe_yaml-1.0.4/lib/safe_yaml.rb:28 : 경고 : 메서드를 재정의; 이전 safe_load 삭제 /usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/psych.rb:290 : 경고 : safe_load의 이전 정의는 여기에 있습니다. /usr/local/lib/ruby / gems/2.3.0/gems/safe_yaml-1.0.4/lib/safe_yaml.rb : 52 : 경고 : 메서드 재정의; 오래된 LOAD_FILE /usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/psych.rb:470을 폐기 : 경고 : LOAD_FILE의 이전의 정의는 여기에 우리가 사용하고있는
했다 다른 보석의 숫자와 우리의 출력을 어수선하게하는 경고의 전체 배열을 받고 ...
놀아볼 코드 예제가 있으면 좋겠습니까? –
[KISS] (https://en.wikipedia.org/wiki/KISS_principle) 해결책 : 경고를 수정하십시오. – Blacksilver