Class: RubyCoded::Skills::SkillDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_coded/skills/skill_definition.rb

Overview

Normalized project-local skill metadata.

Constant Summary collapse

ATTRIBUTES =
%i[name description modes content path priority tags trigger].freeze

Instance Method Summary collapse

Constructor Details

#initialize(**attrs) ⇒ SkillDefinition

Returns a new instance of SkillDefinition.



11
12
13
14
15
16
# File 'lib/ruby_coded/skills/skill_definition.rb', line 11

def initialize(**attrs)
  ATTRIBUTES.each { |attr| instance_variable_set(ivar(attr), attrs[attr]) }
  @modes = Array(@modes).map(&:to_s)
  @tags = Array(@tags).map(&:to_s)
  @priority = (@priority || 0).to_i
end

Instance Method Details

#applies_to_mode?(mode) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/ruby_coded/skills/skill_definition.rb', line 18

def applies_to_mode?(mode)
  @modes.include?(mode.to_s)
end