Class: MessageDef

Inherits:
Def
  • Object
show all
Defined in:
lib/runtime.rb,
lib/generators/scala_server_generator.rb,
lib/generators/unity_client_generator.rb,
lib/generators/elixir_server_generator.rb

Instance Attribute Summary collapse

Attributes inherited from Def

#ast

Instance Method Summary collapse

Constructor Details

#initialize(ast, id) ⇒ MessageDef

Returns a new instance of MessageDef.



142
143
144
145
146
147
148
# File 'lib/runtime.rb', line 142

def initialize ast, id
	super ast
	@name = ast.name
	@id = id
	@members = []
	@doc = ast.doc
end

Instance Attribute Details

#docObject (readonly)

Returns the value of attribute doc.



140
141
142
# File 'lib/runtime.rb', line 140

def doc
  @doc
end

#idObject (readonly)

Returns the value of attribute id.



140
141
142
# File 'lib/runtime.rb', line 140

def id
  @id
end

#membersObject (readonly)

Returns the value of attribute members.



140
141
142
# File 'lib/runtime.rb', line 140

def members
  @members
end

#nameObject (readonly)

Returns the value of attribute name.



140
141
142
# File 'lib/runtime.rb', line 140

def name
  @name
end

Instance Method Details

#add_member(member_def) ⇒ Object



150
151
152
# File 'lib/runtime.rb', line 150

def add_member member_def
	@members.push member_def
end

#elixir_header_nameObject



382
383
384
# File 'lib/generators/elixir_server_generator.rb', line 382

def elixir_header_name
    "@header_#{self.elixir_name}"
end

#elixir_nameObject



386
387
388
# File 'lib/generators/elixir_server_generator.rb', line 386

def elixir_name
    @name.underscore
end

#elixir_paramsObject



390
391
392
393
394
# File 'lib/generators/elixir_server_generator.rb', line 390

def elixir_params
    return '' if members.empty?
    params = members.map { |m| m.elixir_name } .join ', '
    ', ' + params
end

#elixir_params_with_types(node) ⇒ Object



396
397
398
399
400
# File 'lib/generators/elixir_server_generator.rb', line 396

def elixir_params_with_types node
    return '' if members.empty?
    params = members.map { |m| m.elixir_name + ' :: ' + m.type.elixir_type(node) } .join ', '
    ', ' + params
end

#get_member(name) ⇒ Object



154
155
156
# File 'lib/runtime.rb', line 154

def get_member name
	@members.find { |m| m.name == name }
end

#scala_methodObject



104
105
106
# File 'lib/generators/scala_server_generator.rb', line 104

def scala_method
	@name.decapitalize
end

#unityObject



154
155
156
157
# File 'lib/generators/unity_client_generator.rb', line 154

def unity
	param_str = members.map { |m| m.unity_param } .join ', '
	"void #{@name}( #{param_str} )"
end

#unity_paramObject



159
160
161
# File 'lib/generators/unity_client_generator.rb', line 159

def unity_param
	members.map { |m| m.name } .join ', '
end