Sha256: 3328d69e4044aecc2908aac2b7798b9ef2e674e79c1c7020e1ee3f4f3b8b1768
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
require_relative 'template' module Immutabler module Template class BodyTemplate < BaseTemplate attr_accessor :name, :models def initialize(name, models) self.template_file = File.expand_path("#{__dir__}/../../../templates/body_template.hbs") self.name = name self.models = models helper(:dict) do |context, arg, block| body = "@{\n" if arg body << arg.map{|m| "@\"#{m.destination_name}\" : @\"#{m.origin_name}\"" }.join(",\n") end body << "\n};" end helper(:enum_mapping_dict) do |context, arg, block| body = "@{\n" if arg body << arg.map{|m| "@\"#{m.origin_name}\" : @(#{m.destination_name})" }.join(",\n") end body << "\n};" end helper(:init_with_builder) do |context, arg, block| if arg[:base_immutable] " self = [super initWithBuilder:builder modelVersion:modelVersion];\n" else " self = [super init];\n" end end end def render template.call(models: models, name: name) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
immutabler-0.1.2 | lib/immutabler/template/body_template.rb |