Module: Base::BaseSignatureValidator

Included in:
BaseSignature
Defined in:
lib/clino/domain/signature/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/clino/domain/signature/base.rb', line 7

def self.included(base)
  base.class_eval do
    # Override Struct's initialize method to include validation
    def initialize(name:, type: :string, default: :none, desc: nil, **others)
      super(name, type, default, desc, *others.values)
      validate_name(name)
    end
  end
end

Instance Method Details

#validate_name(name) ⇒ Object

Raises:

  • (ArgumentError)


17
18
19
# File 'lib/clino/domain/signature/base.rb', line 17

def validate_name(name)
  raise ArgumentError, "Name must be a symbol" unless name.is_a?(Symbol)
end