lib/arxutils/arx.rb in arxutils-0.1.36 vs lib/arxutils/arx.rb in arxutils-0.1.37
- old
+ new
@@ -1,30 +1,37 @@
# -*- coding: utf-8 -*-
require 'erb'
module Arxutils
+ # スキーマ設定に基づき、テンプレートから変換する
class Arx
+ # スキーマ設定配列を、テンプレートで参照可能になるように展開する
def initialize( data , fname )
+ # テンプレートファイルへのパス
@fname = fname
- # 以下のものの配列
+
+ # スキーマ設定配列
+ # スキーマ設定とは以下をキーにもつハッシュである
# :flist
# :classname
# :classname_downcase
# :items
# フィールド名, 型, null許容 の配列
# :plural
# :relation
@data = data
+ # スキーマ設定の:itemsの値を展開後格納するためのStructクラス
@@field ||= Struct.new("Field" , :name, :type, :null )
if @data[:items]
@data[:ary] = @data[:items].map{ |x| @@field.new( *x ) }
else
@data[:ary] = []
end
end
+ # テンプレートファイルを元にした変換結果を返す
def create
contents = File.open( @fname ).read
erb = ERB.new(contents)
content = erb.result(binding)
content