lib/tapioca/rbi_ext/model.rb in tapioca-0.8.3 vs lib/tapioca/rbi_ext/model.rb in tapioca-0.9.0
- old
+ new
@@ -70,11 +70,11 @@
upper: T.nilable(String),
lower: T.nilable(String)
).void
end
def create_type_variable(name, type:, variance: :invariant, fixed: nil, upper: nil, lower: nil)
- value = Tapioca::TypeVariableHelper.serialize_type_variable(type, variance, fixed, upper, lower)
+ value = Tapioca::RBIHelper.serialize_type_variable(type, variance, fixed, upper, lower)
create_node(RBI::TypeMember.new(name, value))
end
sig do
params(
@@ -84,11 +84,11 @@
class_method: T::Boolean,
visibility: RBI::Visibility
).void
end
def create_method(name, parameters: [], return_type: "T.untyped", class_method: false, visibility: RBI::Public.new)
- return unless valid_method_name?(name)
+ return unless Tapioca::RBIHelper.valid_method_name?(name)
sig = RBI::Sig.new(return_type: return_type)
method = RBI::Method.new(name, sigs: [sig], is_singleton: class_method, visibility: visibility)
parameters.each do |param|
method << param.param
@@ -96,22 +96,9 @@
end
self << method
end
private
-
- SPECIAL_METHOD_NAMES = T.let(
- ["!", "~", "+@", "**", "-@", "*", "/", "%", "+", "-", "<<", ">>", "&", "|", "^", "<", "<=", "=>", ">", ">=",
- "==", "===", "!=", "=~", "!~", "<=>", "[]", "[]=", "`",].freeze,
- T::Array[String]
- )
-
- sig { params(name: String).returns(T::Boolean) }
- def valid_method_name?(name)
- return true if SPECIAL_METHOD_NAMES.include?(name)
-
- !!name.match(/^[a-zA-Z_][[:word:]]*[?!=]?$/)
- end
sig { returns(T::Hash[String, RBI::Node]) }
def nodes_cache
T.must(@nodes_cache ||= T.let({}, T.nilable(T::Hash[String, Node])))
end