Как получить хорошее форматирование в консоли Rails

Вы абсолютно не можете надежно проверить, есть ли подключение к Интернету или нет (я предполагаю, что вы имеете в виду доступ в Интернет).

Вы можете, однако, запросить ресурсы, которые практически никогда не работают в автономном режиме , например, pinging google.com или что-то подобное. Я думаю, что это будет эффективно.

try { 
    Ping myPing = new Ping();
    String host = "google.com";
    byte[] buffer = new byte[32];
    int timeout = 1000;
    PingOptions pingOptions = new PingOptions();
    PingReply reply = myPing.Send(host, timeout, buffer, pingOptions);
    return (reply.Status == IPStatus.Success);
}
catch (Exception) {
    return false;
}
119
задан sth 4 August 2009 в 00:38
поделиться

3 ответа

Метод y - удобный способ получить красивый вывод YAML.

y ProductColor.all

Предполагая, что вы используете скрипт / консоль

Как прокомментировал jordanpg, этот ответ устарел. Для Rails 3.2+ вам необходимо выполнить следующий код, прежде чем вы сможете заставить работать метод y :

YAML::ENGINE.yamler = 'syck'

Из ruby-docs

В старых версиях Ruby, т.е. <= 1.9, Syck по-прежнему предоставляется, был полностью удален с выпуском Ruby 2.0.0.

Для rails 4 / ruby ​​2 можно было использовать только

puts object.to_yaml
248
ответ дан 24 November 2019 в 01:26
поделиться

Попробуйте hirb . Это жемчужина, предназначенная для красивого форматирования объектов в консоли Ruby. Ваш сеанс скрипта / консоли будет выглядеть следующим образом:

>> require 'hirb'
=> true
>> Hirb.enable
=> true
>> ProductColor.first
+----+-------+---------------+---------------------+---------------------+
| id | name  | internal_name | created_at          | updated_at          |
+----+-------+---------------+---------------------+---------------------+
| 1  | White | White         | 2009-06-10 04:02:44 | 2009-06-10 04:02:44 |
+----+-------+---------------+---------------------+---------------------+
1 row in set
=> true

Вы можете узнать больше о hirb на его домашней странице .

94
ответ дан 24 November 2019 в 01:26
поделиться

Возможно, вы захотите определить метод проверки ProductColor, чтобы он возвращал то, что вам нравится. Например:

def inspect
  "<#{id} - #{name} (#{internal_name})>"
end

После чего результат ProductColor.all будет отображаться как что-то вроде [<1 - White (White)>, ...]. Конечно, вам следует настроить метод проверки в соответствии с вашими потребностями, чтобы он отображал всю необходимую информацию в удобном для вас стиле.

Изменить: также, если проблема заключалась в отсутствии разрывов строк в выводе, вы можете попробовать

require 'pp'
pp ProductColor.all

, который должен вставлять перенос строки, где это необходимо

4
ответ дан 24 November 2019 в 01:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: