Sha256: a8d329a72f3c1971957da6d765a36ed71ab6dd477642dbe4731653c4ef1f5d1b

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 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
-%>
package peto
{
	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.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 -%>
	}
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
peto-0.2.7 lib/templates/as_procedures.erb