Module: Legion::Extensions::Definitions
- Included in:
- Absorbers::Base, Hooks::Base
- Defined in:
- lib/legion/extensions/definitions.rb
Constant Summary collapse
- DEFAULTS =
{ remote_invocable: true, mcp_exposed: true, idempotent: false, risk_tier: :standard, tags: [], requires: [], inputs: {}, outputs: {} }.freeze
Instance Method Summary collapse
- #definition(method_name, **opts) ⇒ Object
- #definition_for(method_name) ⇒ Object
- #definitions ⇒ Object
Instance Method Details
#definition(method_name, **opts) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/legion/extensions/definitions.rb', line 17 def definition(method_name, **opts) base = DEFAULTS.transform_values do |value| case value when Array, Hash value.dup else value end end own_definitions[method_name.to_sym] = base.merge(opts) end |
#definition_for(method_name) ⇒ Object
37 38 39 |
# File 'lib/legion/extensions/definitions.rb', line 37 def definition_for(method_name) definitions[method_name.to_sym] end |
#definitions ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/legion/extensions/definitions.rb', line 29 def definitions if respond_to?(:superclass) && superclass.respond_to?(:definitions) superclass.definitions.merge(own_definitions) else own_definitions.dup end end |