Как использовать ай хай

В OpsCode Wiki есть следующая документация:

require 'ohai'

# ...
# Profit! ;-)

Как я могу напечатать данные JSON, предоставленные командой 'ohai', но используя IRB? Я пытался увидеть код в application.rb, но я получаю пустые данные.

require 'ohai/application'
ohai = Ohai::System.new
ohai.json_pretty_print
 => "{\n\n}" 

Я не пытаюсь сделать это с помощью Chef (или Shef), я просто хочу использовать сам камень ohai в своем приложении.

2 ответа

Решение

Ковыряться в Ohai::Application класс (что вы получаете, когда бежите ohai), #run_applicationконкретизирует Ohai::System и, если он не был настроен файлом, он вызывает all_plugins заполнить его данными.

Предположительно, Ohai::System#all_plugins делегирует сбор данных lib/ohai/plugins каталог.

$ irb -rohai
> system = Ohai::System.new
 => #<Ohai::System:0x00000100988950 @data={}, @seen_plugins={}, @providers={}, @plugin_path="", @hints={}> 
> system.all_plugins
 => true 
> puts system.to_json
{"languages":{"ruby":{"platform":"x86_64-darwin10.8.0","version":"1.9.2", ...
> system.to_json.size
 => 42395 

Я тоже искал простую и хорошую библиотеку, чтобы сделать это...

Я наткнулся

Usagewatch

и через 5 минут мой мониторинг.rb сделано..

Установить: gem установить использование watch

Установить на Mac: gem установить использование watch_ext

Обратитесь к этой статье для получения дополнительной информации

Другие вопросы по тегам