LoginSignup
2
2

More than 5 years have passed since last update.

(個人的メモ)YAML使って タグを含む記述を読み込めないかなー

Posted at

設定とかでおなじみの・・・

Ruby on Railsでデータベースの設定を記述したりするYAML。
いろんな設定とかが記述しやすいです。

データベース構築するほどでもないけど、ページテンプレートに沿って、このページならこれを呼び出す。みたいな処理ができないかなー?って。考えてみた。

YAMLファイルの記述

こんな感じで、YAMLファイルを記述します。
仮に hash_test.yml とでもします。
※わざとタグの記号を全角にしています。


keyword: Ruby YAML YML 学習
title: YAMLの読み込みと加工
content: |-
        <p>YAMLファイルの操作</p>``
        <div>システム操作です
        スクリプト使って処理します</div>
        改行いっぱい

検索用キーワードやタイトル(記述パターンが固定)、本文部分(タグや改行の記述パターンが、固定ではない)箇所が混在していると仮定します。

なお、本文部分は最終行以外改行したいので
最終行以外改行の設定をしています。

YAMLファイルを読み込み、加工するRubyスクリプト

指定したYAMLファイルを読み込んで、ハッシュとする。
そのうち、本文のデータを抜き出し、改行コードで配列分割するコードを試しに作って見ました。


require 'yaml'

str = ARGV[0]
data = YAML.load_file(str)

data.each do |key, value|
 puts "key:#{key} value:#{value}" 
end

hoge =data['content']

fuga = hoge.split("\n")

p fuga

実行例

$ ruby yml-print.rb hash_test.yml


key:keyword value:Ruby YAML YML 学習
key:title value:YAMLの読み込みと加工
key:content value:YAMLファイルの操作
システム操作です
スクリプト使って処理します
改行いっぱい
["YAMLファイルの操作", "システム操作です", "スクリプト使って処理します", "改行いっぱい"]

改行できましたー。

参考

プログラマーのための YAML 入門 (初級編)
http://magazine.rubyist.net/?0009-YAML

YAMLで改行する方法
http://d.hatena.ne.jp/shunsuk/20090822/1250937310

YMLファイルを読み込んで、特定の値を取り出す
http://blog.codebook-10000.com/entry/20140322/1395499315

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2