ruby-on-rails - 有关如何将格式良好的输出添加到自定义 Rails 生成器的指南

标签 ruby-on-rails generator

就像标题所说 - 我想将自定义输出添加到 Rails 生成器 - 就像您看到的 identical - xxxforce - xxx

我想为我的自定义生成器添加特殊的、格式良好的警告 - 只是除了使用 puts 之外,我没有看到任何这样做的指导

例如,我想看到:

 Warining: Missing Related Data File

警告一词用红色书写。与您在典型的 Rails 生成器命令中看到的非常相似...

最佳答案

Rails 的生成器基于 Thor 。当您引发 Thor::Error 时,输出将自动变为红色。例如:

raise Error, "Warning: Missing related data file"

这会将整个消息染成红色(并抑制回溯以获得更清晰的输出)。

此外,您可以使用任何 Thor 的 actions在你的发电机和几个,例如sayyes?,支持第二个 color 参数,允许您执行以下操作:

say_status "OK", "Blue is my favorite color", :blue

可用颜色为 shown here .

最后,您可以调用set_color直接用于格式的细粒度控制,例如:

say set_color( "STOP ",    :red ) +
    set_color( "CAUTION ", :yellow ) +
    set_color( "GO!",      :green, true )

(如果第三个参数为 true,则输出将为粗体。)

我希望这对您有所帮助,但请负责任地使用它!

关于ruby-on-rails - 有关如何将格式良好的输出添加到自定义 Rails 生成器的指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10404124/

相关文章:

javascript - Rails : Infinite Scroll, 加载微调器而不是文本

jquery - 如何通过 Ajax 调用显示操作

jquery - Bootstrap 3 : dropdown not working only when fixed navbar is on top position

Python——迭代一个迭代器两次

ruby-on-rails - 未检测到 Procfile,使用默认 Web 服务器 (webrick)

jQuery 不能在 Rails 4 中使用 simple_form

javascript - 使用 fs 模块了解 Node JS 生成器

python - Keras:使用灰度蒙版和 ImageDataGenerator 类进行图像分割

python - 如何使用 python 生成器表达式创建一个 oneliner 多次运行一个函数并获得列表输出

rust - 如何在未知大小的 Vec<Vec<T>> 上创建一个迭代器,该迭代器相当于内部 Vec<T> 迭代器的笛卡尔积?