【Rails】 settingslogic で改行を含む定数を管理する

導入方法

https://github.com/binarylogic/settingslogic

settingslogic で定数を管理しているけど、改行ある時どうするんだっけ?となったので調べてみた。 YAMLについて知らなすぎだね。

改行を含む文字列を表現する

# config/application.yml

defaults: &defaults
  hoge: |
    hoge
    hoge

コンソール

pry(main)> Settings.hoge
=> "hoge\nhoge\n"

ビュー

<%= simple_format(Settings.hoge) %>

最終行の改行なし

# config/application.yml

defaults: &defaults
  hoge: |-
    hoge
    hoge
pry(main)> Settings.hoge
=> "hoge\nhoge"

最終行の改行あり

# config/application.yml

defaults: &defaults
  hoge: |+
    hoge
    hoge
 pry(main)> Settings.hoge
=> "hoge\nhoge\n"

改行を半角スペースへ

# config/application.yml

defaults: &defaults
  hoge: >
    hoge
    hoge
pry(main)> Settings.hoge
=> "hoge hoge\n"

改行を半角スペースへ + 最終行の改行なし

# config/application.yml

defaults: &defaults
  hoge: >-
    hoge
    hoge
pry(main)> Settings.hoge
=> "hoge hoge"

改行を半角スペースへ + 最終行の改行あり

# config/application.yml

defaults: &defaults
  hoge: >+
    hoge
    hoge
pry(main)> Settings.hoge
=> "hoge hoge\n"