Class: Textus::Contract::Arg

Inherits:
Data
  • Object
show all
Defined in:
lib/textus/contract.rb

Overview

One argument of a verb. ‘positional: true` means it is passed to the use-case as a positional (e.g. `get(key)`); otherwise as a keyword. `session_default` names a zero-arg method on `Textus::Session` (Symbol) that supplies the value when the wire arg is absent; `nil` means no default. `wire_name` is the name the arg carries on the wire (MCP JSON property / CLI envelope key) when it must differ from the use-case kwarg `name` — e.g. `put` takes the `meta:` kwarg but exposes `_meta` on the wire to match what `get` returns and what the CLI `–stdin` envelope already speaks (ADR 0057).

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description

Returns:

  • (Object)

    the current value of description



15
16
17
# File 'lib/textus/contract.rb', line 15

def description
  @description
end

#nameObject (readonly)

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



15
16
17
# File 'lib/textus/contract.rb', line 15

def name
  @name
end

#positionalObject (readonly)

Returns the value of attribute positional

Returns:

  • (Object)

    the current value of positional



15
16
17
# File 'lib/textus/contract.rb', line 15

def positional
  @positional
end

#requiredObject (readonly)

Returns the value of attribute required

Returns:

  • (Object)

    the current value of required



15
16
17
# File 'lib/textus/contract.rb', line 15

def required
  @required
end

#session_defaultObject (readonly)

Returns the value of attribute session_default

Returns:

  • (Object)

    the current value of session_default



15
16
17
# File 'lib/textus/contract.rb', line 15

def session_default
  @session_default
end

#typeObject (readonly)

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



15
16
17
# File 'lib/textus/contract.rb', line 15

def type
  @type
end

#wire_nameObject (readonly)

Returns the value of attribute wire_name

Returns:

  • (Object)

    the current value of wire_name



15
16
17
# File 'lib/textus/contract.rb', line 15

def wire_name
  @wire_name
end

Instance Method Details

#wireObject

The name used on the wire (defaults to the kwarg name).



17
# File 'lib/textus/contract.rb', line 17

def wire = wire_name || name