Class: Smith::Guardrails

Inherits:
Object
  • Object
show all
Defined in:
lib/smith/guardrails.rb,
lib/smith/guardrails/runner.rb,
lib/smith/guardrails/url_verifier.rb

Defined Under Namespace

Modules: Runner Classes: UrlVerifier

Class Method Summary collapse

Class Method Details

.inherited(subclass) ⇒ Object



6
7
8
9
10
11
# File 'lib/smith/guardrails.rb', line 6

def inherited(subclass)
  super
  subclass.instance_variable_set(:@inputs, (@inputs || []).dup)
  subclass.instance_variable_set(:@tools, (@tools || []).dup)
  subclass.instance_variable_set(:@outputs, (@outputs || []).dup)
end

.input(name = nil) ⇒ Object



13
14
15
16
17
18
# File 'lib/smith/guardrails.rb', line 13

def input(name = nil, **)
  return @inputs || [] if name.nil?

  @inputs ||= []
  @inputs << ({ name: name, ** })
end

.output(name = nil) ⇒ Object



27
28
29
30
31
32
# File 'lib/smith/guardrails.rb', line 27

def output(name = nil, **)
  return @outputs || [] if name.nil?

  @outputs ||= []
  @outputs << ({ name: name, ** })
end

.tool(name = nil) ⇒ Object



20
21
22
23
24
25
# File 'lib/smith/guardrails.rb', line 20

def tool(name = nil, **)
  return @tools || [] if name.nil?

  @tools ||= []
  @tools << ({ name: name, ** })
end