lib/templates/as_procedures.erb in peto-0.2.6 vs lib/templates/as_procedures.erb in peto-0.2.7

- old
+ new

@@ -4,52 +4,44 @@ end def comma_args_with_type(args) args.map{|arg| "#{arg[:name]}:#{arg[:type]}"}.join(",") end -%> - -import peto.*; - package peto { - class <%= class_name %> + import peto.*; + + public 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 -%> + <%= args.map {|arg| + as_primitive_types.include?(arg[:type]) ? + "#{arg[:name]} : #{arg[:name]}" : + "#{arg[:name]} : #{arg[:name]}.toHash()" + }.join(",")%> } } } public static function <%= name %>_hash_to_args(hash_args:Object):Array { var args:Array = new Array(); <%- args.each do |arg| -%> + <%- if as_primitive_types.include?(arg[:type])-%> + args.push(hash_args.<%=arg[:name]%>); + <%- else -%> args.push(<%=arg[:type]%>.create(hash_args.<%=arg[:name]%>)); <%- end -%> + <%- 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; - } } }