Sha256: eeb468e9bd45b8829f1e56f2ccaec0bc8f9ebe29aed5216d96e779fae8db21e7
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
<%- name = @target[:name].camelize -%> <%- args = @target[:args] -%> import peto.*; package peto { class <%= name %> { public static function create(hash_args):<%=name%> { var instance:<%= name %> = new <%= name %>; <%- args.each do |arg| -%> <%- if rb_primitive_types.include?(arg[:type].constantize) -%> instance.<%=arg[:name]%> = hash_args.<%= arg[:name]%>; <%- elsif arg[:array_type] -%> for each ( var arg:Object in hash_args.<%= arg[:name]%>) instance.<%=arg[:name]%>.push(<%=arg[:array_type]%>.create(arg)); <%- else -%> instance.<%=arg[:name]%> = <%=arg[:type]%>.create(hash_args.<%= arg[:name]%>); <%- end -%> <%- end -%> return instance; } public function <%=name%>(<%= args.map{|arg| "#{arg[:name]}:#{arg[:type]}"}.join(",") %>) { <%- args.each do |arg| -%> this.<%= arg[:name] %> = <%= arg[:name] %>; <%- end -%> } <%- args.each do |arg| -%> private var <%= arg[:name] %>:<%= arg[:type] %>; public function get <%= arg[:name] %>():<%= arg[:type] %> { return <%= arg[:name] %>; } public function set <%= arg[:name] %>(value:<%= arg[:type] %>) { <%= arg[:name] %> = value; } <%- end -%> public function toHash():Object { var hash:Object = new Object; <%- args.each do |arg| -%> <%- if rb_primitive_types.include?(arg[:type].constantize) -%> hash_args["<%= arg[:name]%>"] = <%=arg[:name]%>; <%- elsif arg[:array_type] -%> for each ( var arg:<%= arg[:array_type]%> in <%= arg[:name]%>) hash_args["<%= arg[:name]%>"] = <%=arg[:name]%>.toHash(): <%- else -%> hash_args["<%= arg[:name]%>"] = <%=arg[:name]%>.toHash(): <%- end -%> <%- end -%> return hash; } } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
peto-0.2.6 | lib/templates/as_classes.erb |