Class: Tins::MethodDescription::Parameters

Inherits:
Object
  • Object
show all
Defined in:
lib/tins/method_description.rb

Overview

Represents individual parameters with specific types and names.

Defined Under Namespace

Classes: BlockParameter, GenericParameter, KeyParameter, KeyreqParameter, KeyrestParameter, OptParameter, Parameter, ReqParameter, RestParameter

Class Method Summary collapse

Class Method Details

.build(type, name) ⇒ Parameter

Builds a parameter instance based on type and name.

Parameters:

  • type (Symbol)

    The type of parameter (e.g., :req, :opt)

  • name (String, Symbol)

    The parameter name

Returns:

  • (Parameter)

    An appropriate Parameter subclass or GenericParameter



113
114
115
116
117
118
119
120
121
122
# File 'lib/tins/method_description.rb', line 113

def self.build(type, name)
  parameter_classname = "#{type.to_s.capitalize}Parameter"
  parameter_class =
    if const_defined? parameter_classname
      const_get parameter_classname
    else
      GenericParameter
    end
  parameter_class.new(type, name)
end