Sha256: eb69710b565a9ed1ede0be4df5a360af6d399d67c691520cb60cced57f34db02
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
<%- def comma_args(args) args.map{|arg| arg[:name]}.join(",") end def comma_args_with_type(args) args.map{|arg| "#{arg[:name]}:#{arg[:type]}"}.join(",") end -%> import peto.*; package peto { class <%= class_name %> { <%- each_procedures do |name, args| -%> // <%=name%> methods public static function <%= name %>(<%= comma_args_with_type(args) %>):Object { return { procedure : "<%=name%>", args : { <%- args.each do |arg| -%> <%=arg[:name]%> : hashize(<%=arg[:name]%>), <%- end -%> } } } public static function <%= name %>_hash_to_args(hash_args:Object):Array { var args:Array = new Array(); <%- args.each do |arg| -%> args.push(<%=arg[:type]%>.create(hash_args.<%=arg[:name]%>)); <%- end -%> return args; } <%- end -%> public static function hashize(var:Object):Object { if ( isPrimitiveType(typeof(var)) ) return var; else return var.toHash(); } public static function isPrimitiveType(type):Boolean { [<%=as_primitive_types.join(",")%>].indexOf?(type) != -1; } } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
peto-0.2.6 | lib/templates/as_procedures.erb |