class Rubydex::Signature
Attributes
parameters
[R]
Array[Parameter]
Public Class Methods
(Array[Parameter]) → void
Source
# File lib/rubydex/signature.rb, line 33 def initialize(parameters) @parameters = parameters end
Public Instance Methods
Source
# File lib/rubydex/signature.rb, line 128 def block_parameter = deconstruct[8]
() → [Array[PositionalParameter], Array[OptionalPositionalParameter], RestPositionalParameter?, Array[PostParameter], Array[KeywordParameter], Array[OptionalKeywordParameter], RestKeywordParameter?, ForwardParameter?, BlockParameter?]
Source
# File lib/rubydex/signature.rb, line 38 def deconstruct positionals = [] #: Array[PositionalParameter] optional_positionals = [] #: Array[OptionalPositionalParameter] rest_positional = nil #: RestPositionalParameter? posts = [] #: Array[PostParameter] keywords = [] #: Array[KeywordParameter] optional_keywords = [] #: Array[OptionalKeywordParameter] rest_keyword = nil #: RestKeywordParameter? forward = nil #: ForwardParameter? block = nil #: BlockParameter? parameters.each do |param| case param when PositionalParameter then positionals << param when OptionalPositionalParameter then optional_positionals << param when RestPositionalParameter then rest_positional = param when PostParameter then posts << param when KeywordParameter then keywords << param when OptionalKeywordParameter then optional_keywords << param when RestKeywordParameter then rest_keyword = param when ForwardParameter then forward = param when BlockParameter then block = param end end [positionals, optional_positionals, rest_positional, posts, keywords, optional_keywords, rest_keyword, forward, block] end
(Array[Symbol]?) → Hash[Symbol, untyped]
Source
# File lib/rubydex/signature.rb, line 80 def deconstruct_keys(keys) keys = DECONSTRUCT_KEYS if keys.nil? positionals, optional_positionals, rest_positional, posts, keywords, optional_keywords, rest_keyword, forward, block = deconstruct result = {} #: Hash[Symbol, untyped] keys.each do |key| case key when :positional_parameters then result[key] = positionals when :optional_positional_parameters then result[key] = optional_positionals when :rest_positional_parameter then result[key] = rest_positional when :post_parameters then result[key] = posts when :keyword_parameters then result[key] = keywords when :optional_keyword_parameters then result[key] = optional_keywords when :rest_keyword_parameter then result[key] = rest_keyword when :forward_parameter then result[key] = forward when :block_parameter then result[key] = block end end result end
Source
# File lib/rubydex/signature.rb, line 125 def forward_parameter = deconstruct[7]
() → Array[KeywordParameter]
Source
# File lib/rubydex/signature.rb, line 116 def keyword_parameters = deconstruct[4]
Source
# File lib/rubydex/signature.rb, line 119 def optional_keyword_parameters = deconstruct[5]
Source
# File lib/rubydex/signature.rb, line 107 def optional_positional_parameters = deconstruct[1]
() → Array[PositionalParameter]
Source
# File lib/rubydex/signature.rb, line 104 def positional_parameters = deconstruct[0]
() → Array[PostParameter]
Source
# File lib/rubydex/signature.rb, line 113 def post_parameters = deconstruct[3]
Source
# File lib/rubydex/signature.rb, line 122 def rest_keyword_parameter = deconstruct[6]
Source
# File lib/rubydex/signature.rb, line 110 def rest_positional_parameter = deconstruct[2]