Module: Micro::Struct::NormalizeNames::AsSymbols

Defined in:
lib/micro/struct/normalize_names.rb

Constant Summary collapse

REGEXP =
/\A[_A-Za-z]\w*\z/.freeze
Invalid =
->(context, val) { raise NameError.new("invalid #{context} name: #{val}") }
AsSymbol =
->(context, val) { REGEXP =~ val ? val.to_sym : Invalid[context, val] }

Class Method Summary collapse

Class Method Details

.call(arg, context:) ⇒ Object



11
12
13
# File 'lib/micro/struct/normalize_names.rb', line 11

def self.call(arg, context:)
  Array(arg).map { |values| AsSymbol[context, values] }
end