如何皮棉YAML文件,而不必將其上傳到http://yamllint.com?如何皮棉YAML文件,最好在Ruby
舉例來說,如果我有
people:
1:
:name: John Smith
:name: Jane Smith
我如何讓它提醒我,最後:name
過寫第一:name
?
我正在使用Ruby 2.1和Ubuntu 12.04。
如何皮棉YAML文件,而不必將其上傳到http://yamllint.com?如何皮棉YAML文件,最好在Ruby
舉例來說,如果我有
people:
1:
:name: John Smith
:name: Jane Smith
我如何讓它提醒我,最後:name
過寫第一:name
?
我正在使用Ruby 2.1和Ubuntu 12.04。
的yamllint命令行工具做什麼你 想:
sudo pip install yamllint
具體來說,它有一個規則key-duplicates
檢測重複和鍵 過寫作彼此:
$ yamllint test.yml
test.yml
1:1 warning missing document start "---" (document-start)
4:5 error duplication of key ":name" in mapping (key-duplicates)
(它有許多其他的規則,你可以啓用/禁用或調整。)
這是你在追求什麼?
require 'yaml'
def check_yaml(filename)
unless YAML.dump(YAML.load_file(filename)) == File.read(filename).gsub(/\s*#.*/, '')
raise 'problem'
end
end
check_yaml 'somefile.yml'
有關導入1.yaml
,然後出口到2.yaml
和diff 1.yaml 2.yaml
什麼?
無法提供代碼 - 在這臺機器上沒有nix utils,但你有想法。
你必須刪除評論從yaml文件,因爲他們肯定會在這個過程中迷失方向。 –
好吧我摘掉了評論。見編輯 – seph
只要字符串中沒有任何散列字符('#'),它就可能工作。 –