Module: Braintrust::Task::Callable

Defined in:
lib/braintrust/task.rb

Overview

Included into classes that include Task. Prepends KeywordFilter so #call receives only its declared kwargs, and provides a default #name.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

Parameters:

  • base (Class)

    the class including Callable



46
47
48
# File 'lib/braintrust/task.rb', line 46

def self.included(base)
  base.prepend(Internal::Callable::KeywordFilter)
end

Instance Method Details

#nameString

Default name derived from the class name (e.g. MyTask -> “my_task”).

Returns:

  • (String)


52
53
54
55
56
# File 'lib/braintrust/task.rb', line 52

def name
  klass = self.class.name&.split("::")&.last
  return Task::DEFAULT_NAME unless klass
  klass.gsub(/([a-z])([A-Z])/, '\1_\2').downcase
end