Class: MessageDef

Inherits:
Def
  • Object
show all
Defined in:
lib/runtime.rb,
lib/generators/bot_generator.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

#bot_header_nameObject



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

def bot_header_name
    "@header_#{self.bot_name}"
end

#bot_nameObject



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

def bot_name
    @name.underscore
end

#bot_paramsObject



398
399
400
401
402
# File 'lib/generators/bot_generator.rb', line 398

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

#bot_params_with_types(node) ⇒ Object



409
410
411
412
413
# File 'lib/generators/bot_generator.rb', line 409

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

#bot_receive_nameObject



394
395
396
# File 'lib/generators/bot_generator.rb', line 394

def bot_receive_name
    "receive_#{self.bot_name}"
end

#bot_return_types(node) ⇒ Object



415
416
417
418
# File 'lib/generators/bot_generator.rb', line 415

def bot_return_types node
    return '' if members.empty?
    members.map { |m| m.type.bot_type(node) }.join ', '
end

#bot_returnsObject



404
405
406
407
# File 'lib/generators/bot_generator.rb', line 404

def bot_returns
    return '' if members.empty?
    members.map { |m| m.bot_name } .join ', '
end

#bot_send_nameObject



390
391
392
# File 'lib/generators/bot_generator.rb', line 390

def bot_send_name
    "send_#{self.bot_name}"
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