1. arikawa-i3

    Posted

    arikawa-i3
Changes in title
+Ruby gemを使ってYAMLをソートする
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,97 @@
+# YAMLをソートするには
+以下のgemを使う。
+[redealumni/i18n_yaml_sorter](https://github.com/redealumni/i18n_yaml_sorter)
+
+- アルファベット順でソート
+- キーが重複していても動く
+
+
+## 使い方
+
+ここではテキトーな作業フォルダを作ってそこでソートしてみる。
+
+### Install
+bundlerを使う方法(単にgem installでも可)
+
+```shell
+
+$ bundle init
+---
+Gemfileに以下を追加
+ gem "i18n_yaml_sorter"
+---
+$ bundle install --path vendor/bundle
+```
+
+### 実行
+
+bundle install出来たら、`sort_yaml`というコマンドが使えるようになっているので、
+以下のコマンドでYAMLファイルをソートする。
+
+```shell
+
+$ bundle exec sort_yaml < #{入力YAMLファイル} > #{出力先ファイル}
+example:
+$ bundle exec sort_yaml < ja.yml > ja_out.yml
+```
+
+
+### 実行結果
+
+**before**
+
+```yaml
+en-US:
+ # Note that our comments are important:
+ # Don't let your yaml sorter delete them!
+ bananas: |
+ Bananas are "nice":
+ - They are <b> sweet </b>.
+ this: not a key
+ That is why everyone like bananas!
+ grapes: We eat them.
+ apples: >
+ Apples are fine,
+ just don't eat your
+ iPods!
+ grapes: We dont' eat them.
+```
+
+**after**
+
+```yaml
+en-US:
+ # Note that our comments are important:
+ # Don't let your yaml sorter delete them!
+ apples: >
+ Apples are fine,
+ just don't eat your
+ iPods!
+ bananas: |
+ Bananas are "nice":
+ - They are <b> sweet </b>.
+ this: not a key
+ That is why everyone like bananas!
+ grapes: We dont' eat them.
+ grapes: We eat them.
+```
+
+- コメントはそのままの場所に残るっぽい。
+- キーが重複していると、値でソートするっぽい。
+
+
+## 環境情報
+
+意図せずこのバージョンだった。これじゃないと動かないとかではない。
+
+```shell
+
+$ rbenv -v
+rbenv 1.1.1
+
+$ ruby -v
+ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin18]
+
+$ bundle -v
+Bundler version 1.17.1
+```