Class: StructTypeDef
- 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
-
#doc ⇒ Object
readonly
Returns the value of attribute doc.
-
#members ⇒ Object
readonly
Returns the value of attribute members.
Attributes inherited from TypeDef
Attributes inherited from Def
Instance Method Summary collapse
- #add_member(member_def) ⇒ Object
- #elixir_members ⇒ Object
- #elixir_members_with_types(node) ⇒ Object
- #elixir_members_with_values ⇒ Object
- #elixir_read(node) ⇒ Object
- #elixir_reader(node) ⇒ Object
- #elixir_type(node) ⇒ Object
- #elixir_write(node, member_name) ⇒ Object
- #elixir_writer(node) ⇒ Object
- #get_member(name) ⇒ Object
-
#initialize(ast) ⇒ StructTypeDef
constructor
A new instance of StructTypeDef.
- #scala ⇒ Object
- #unity ⇒ Object
Constructor Details
#initialize(ast) ⇒ StructTypeDef
Returns a new instance of StructTypeDef.
72 73 74 75 76 |
# File 'lib/runtime.rb', line 72 def initialize ast super ast, ast.name @members = [] @doc = ast.doc end |
Instance Attribute Details
#doc ⇒ Object (readonly)
Returns the value of attribute doc.
70 71 72 |
# File 'lib/runtime.rb', line 70 def doc @doc end |
#members ⇒ Object (readonly)
Returns the value of attribute members.
70 71 72 |
# File 'lib/runtime.rb', line 70 def members @members end |
Instance Method Details
#add_member(member_def) ⇒ Object
78 79 80 |
# File 'lib/runtime.rb', line 78 def add_member member_def @members.push member_def end |
#elixir_members ⇒ Object
237 238 239 |
# File 'lib/generators/elixir_server_generator.rb', line 237 def elixir_members @members.map { |m| ":" + m.elixir_name } .join ', ' end |
#elixir_members_with_types(node) ⇒ Object
241 242 243 |
# File 'lib/generators/elixir_server_generator.rb', line 241 def elixir_members_with_types node @members.map { |m| m.elixir_name + ": " + m.type.elixir_type(node) } .join ', ' end |
#elixir_members_with_values ⇒ Object
245 246 247 |
# File 'lib/generators/elixir_server_generator.rb', line 245 def elixir_members_with_values @members.map { |m| m.elixir_name + ": " + m.elixir_name } .join ', ' end |
#elixir_read(node) ⇒ Object
253 254 255 |
# File 'lib/generators/elixir_server_generator.rb', line 253 def elixir_read node "#{node.namespace}.#{@name}.read(data)" end |
#elixir_reader(node) ⇒ Object
261 262 263 |
# File 'lib/generators/elixir_server_generator.rb', line 261 def elixir_reader node "&#{node.namespace}.#{@name}.read/1" end |
#elixir_type(node) ⇒ Object
249 250 251 |
# File 'lib/generators/elixir_server_generator.rb', line 249 def elixir_type node "#{node.namespace}.#{@name}.t" end |
#elixir_write(node, member_name) ⇒ Object
257 258 259 |
# File 'lib/generators/elixir_server_generator.rb', line 257 def elixir_write node, member_name "#{node.namespace}.#{@name}.write(data, #{member_name})" end |
#elixir_writer(node) ⇒ Object
265 266 267 |
# File 'lib/generators/elixir_server_generator.rb', line 265 def elixir_writer node "&#{node.namespace}.#{@name}.write/2" end |
#get_member(name) ⇒ Object
82 83 84 |
# File 'lib/runtime.rb', line 82 def get_member name @members.find { |m| m.name == name } end |
#scala ⇒ Object
27 28 29 |
# File 'lib/generators/scala_server_generator.rb', line 27 def scala @name end |
#unity ⇒ Object
43 44 45 |
# File 'lib/generators/unity_client_generator.rb', line 43 def unity @name end |