easy_talk 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: deac2a2dc757f62004c9dd53e62f6154cd1f5b183da588223cbb502e6bdab71c
4
- data.tar.gz: 161cd3e4294ce33d84e6c83bd7cab34b5a7e0ef073a3419d6030a41173a62d7d
3
+ metadata.gz: e57fb697edd24d973df8ef2903607dabf1175e0d9948e84c8db7ac211f59ad0c
4
+ data.tar.gz: ac6e7e9c69f4072d8fb782c6044e225bf07cd573b9be2c0e4698e1db025d6185
5
5
  SHA512:
6
- metadata.gz: c9e7abc791b1422ddeb795d4baf1d04e8738666c5aa4e64f85878a0134b4bf9e4482916c96112b3c0bd8ca0b0adacc4edbf2d8f6b3cb520f664ebd52fada835b
7
- data.tar.gz: cf576fecc397b13af47dec5898896825f205106db9152530f77914ad1529bf50aa7c9f29973b5f20598c01ac220058c790cc35b95e87fdde27f90740505e9c79
6
+ metadata.gz: 6f07bea45b29633c00586c4e8f1d012f19cb70998f33bf60d1c299f05468c7658de3db500c8c319f474c29779980dedebcffa561eb1870cd2c1b225953736527
7
+ data.tar.gz: 19f836dad8842c5109ea2250f5db3c85e1273bf0565cb33f74096872334617f550078d76479c8ea2b401de08bb85c65c0d1f25e4a51b77afc82992fafedee723
@@ -82,6 +82,10 @@ module EasyTalk
82
82
  "#/$defs/#{name}"
83
83
  end
84
84
 
85
+ def function_name
86
+ name.humanize.titleize
87
+ end
88
+
85
89
  def validate_json(json)
86
90
  JSON::Validator.validate(json_schema, json)
87
91
  end
@@ -0,0 +1,20 @@
1
+ module EasyTalk
2
+ module Tools
3
+ module FunctionBuilder
4
+ def self.new(model)
5
+ {
6
+ type: 'function',
7
+ function: {
8
+ name: model.function_name,
9
+ description: generate_description(model),
10
+ parameters: model.json_schema
11
+ }
12
+ }
13
+ end
14
+
15
+ def self.generate_description(model)
16
+ "Correctly extracted `#{model.name}` with all the required parameters with correct types"
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EasyTalk
4
- VERSION = '0.1.4'
4
+ VERSION = '0.1.5'
5
5
  end
data/lib/easy_talk.rb CHANGED
@@ -12,6 +12,7 @@ module EasyTalk
12
12
  require 'easy_talk/builder'
13
13
  require 'easy_talk/property'
14
14
  require 'easy_talk/schema_definition'
15
+ require 'easy_talk/tools/function_builder'
15
16
  require 'easy_talk/version'
16
17
 
17
18
  class UnsupportedTypeError < ArgumentError; end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_talk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergio Bayona
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-12 00:00:00.000000000 Z
11
+ date: 2024-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -118,6 +118,7 @@ files:
118
118
  - lib/easy_talk/property.rb
119
119
  - lib/easy_talk/schema_definition.rb
120
120
  - lib/easy_talk/sorbet_extension.rb
121
+ - lib/easy_talk/tools/function_builder.rb
121
122
  - lib/easy_talk/types/all_of.rb
122
123
  - lib/easy_talk/types/any_of.rb
123
124
  - lib/easy_talk/types/base_composer.rb