Sha256: 3bb10615d160de5db7de1bddb81dcca47eab4f585b81498619dd25a8098f4936
Contents?: true
Size: 1.04 KB
Versions: 5
Compression:
Stored size: 1.04 KB
Contents
class CGen::Generator::CvDoubleItem < CGen::Generator::BasicGenerator def initialize(param, data, lang) super(param, data, lang) end def generate value = get_value(param) unless value.is_a?(Array) value = Array[value] end value.collect do |elem| instance = self result = Either.chain do bind -> { elem.is_a?(Hash) } bind -> { elem.has_key?('item_0') && elem['item_0'].has_key?('title') && elem['item_0'].has_key?('content') } bind -> { elem.has_key?('item_1') && elem['item_1'].has_key?('title') && elem['item_1'].has_key?('content') } bind -> { instance.get_cv_double_item(elem['item_0'], elem['item_1']) } end result.success? ? result.fetch : '' end.join("\n") end protected def get_cv_double_item(item_0, item_1) "\\cvdoubleitem" + "{#{item_0['title']}}{#{item_0['content']}}" + "{#{item_1['title']}}{#{item_1['content']}}" end end
Version data entries
5 entries across 5 versions & 1 rubygems