t-ruby 0.0.38 → 0.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module TRuby
4
- class RBSGenerator
5
- def initialize
6
- # RBS generation configuration
7
- end
8
-
9
- def generate(functions, type_aliases)
10
- # Add type aliases
11
- lines = type_aliases.map do |type_alias|
12
- generate_type_alias(type_alias)
13
- end
14
-
15
- lines << "" if type_aliases.any? && functions.any?
16
-
17
- # Add function signatures
18
- functions.each do |func|
19
- lines << generate_function_signature(func)
20
- end
21
-
22
- lines.compact.join("\n")
23
- end
24
-
25
- def generate_type_aliases(aliases)
26
- aliases.map { |alias_def| generate_type_alias(alias_def) }.join("\n")
27
- end
28
-
29
- def generate_type_alias(type_alias)
30
- name = type_alias[:name]
31
- definition = type_alias[:definition]
32
-
33
- "type #{name} = #{definition}"
34
- end
35
-
36
- def generate_function_signature(func)
37
- name = func[:name]
38
- params = func[:params] || []
39
- return_type = func[:return_type]
40
-
41
- param_str = format_parameters(params)
42
- return_str = format_return_type(return_type)
43
-
44
- "def #{name}: (#{param_str}) -> #{return_str}"
45
- end
46
-
47
- private
48
-
49
- def format_parameters(params)
50
- return if params.empty?
51
-
52
- param_strs = params.map do |param|
53
- param_name = param[:name]
54
- param_type = param[:type] || "Object"
55
-
56
- "#{param_name}: #{param_type}"
57
- end
58
-
59
- param_strs.join(", ")
60
- end
61
-
62
- def format_return_type(return_type)
63
- return "void" if return_type == "void"
64
- return "nil" if return_type.nil?
65
-
66
- return_type
67
- end
68
- end
69
- end