gptinfo 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06b9227afadf3d612c5cc0ccd1eb40d4a777eb538dcff06fec400353c5fe2a43
4
- data.tar.gz: 11e6fc45759dc8040aa07f04e6d438905b7574730429f3c7917ab58b0a3a5ff9
3
+ metadata.gz: '018afb2c4de8885385d006470917e384498683646d5a8aee24060eb69e0dd3ef'
4
+ data.tar.gz: d4501c55a4dfd6964cb6c3e3b338db2adfae111c4114129d61ae515c117752f8
5
5
  SHA512:
6
- metadata.gz: 9179224846342d04a5eeeb09d25bd41c47c7535f150302ad806c3b3093cea78c2b945951b1965f41fe5930964f3997c5a3133745163b3822f280ab756c080545
7
- data.tar.gz: e8ff5e31d55a51ce2e2cc84d2d37971a6b0a69902dee28a81b1eed4d38dc6def70d1c62bc0007bbf6d68c9c2a6feb1a15ef7286e937f2a95fe1d5a91948abb40
6
+ metadata.gz: f186661330a8f832d969ff041dac3c7caf10f12a82edf8f069e73162adab01f618f86ae2a52d9d61a5451da6cd1dd9416c90f91246f21eea8369808eff4ef732
7
+ data.tar.gz: 5fcd8901d6e4c62d016647112b91bbac7b1f69fc2dedb5ab3ec5b8849cb31347fcbe5f4bb04f8396cd99d8af3a87dc428266bc7d5055be2d856e341614de8c85
data/README.md CHANGED
@@ -11,12 +11,18 @@ gem install gptinfo
11
11
  ```
12
12
  ## Usage
13
13
 
14
+ [DEMO JSON](data/g-HDJ2Bhvt1.json)
15
+
14
16
  ```ruby
15
- info = "{...}"
16
- gpt = Gptinfo.parse(info)
17
+ text = File.read('data/g-HDJ2Bhvt1.json')
18
+ gpt = Gptinfo.parse(text)
17
19
  puts gpt.id
18
20
  puts gpt.name
19
21
  puts gpt.description
22
+ puts gpt.capabilities
23
+ puts gpt.file_types
24
+ puts gpt.files_total_size
25
+ puts gpt.files_total_size_tokens
20
26
  ```
21
27
 
22
28
  ## Development
@@ -33,19 +33,23 @@ module Gptinfo
33
33
  end
34
34
 
35
35
  def tool_types
36
- tools.map{|f| f.type }.uniq
36
+ @tool_types ||= tools.map{|t| { t.type => t.capabiliy } }.uniq
37
+ end
38
+
39
+ def capabilities
40
+ @capabilities ||= tool_types.map{|type| type.values[0] }
37
41
  end
38
42
 
39
43
  def file_types
40
- files.map{|f| f.type }.uniq
44
+ @file_types ||= files.map{|f| f.type }.uniq
41
45
  end
42
46
 
43
47
  def files_total_size
44
- files.map{|f| f.size }.sum
48
+ @files_total_size ||= files.map{|f| f.size }.sum
45
49
  end
46
50
 
47
51
  def files_total_size_tokens
48
- files.map{|f| f.file_size_tokens }.compact.sum
52
+ @files_total_size_tokens ||= files.map{|f| f.file_size_tokens }.compact.sum
49
53
  end
50
54
  end
51
55
  end
data/lib/gptinfo/tool.rb CHANGED
@@ -4,7 +4,7 @@ module Gptinfo
4
4
  class Tool
5
5
  FIELDS = %w( id type settings metadata ).freeze
6
6
  extend Forwardable
7
- attr_reader :hash, *FIELDS
7
+ attr_reader :hash, :capabiliy, *FIELDS
8
8
 
9
9
  FIELDS.each do |field|
10
10
  define_method(field) do
@@ -18,6 +18,17 @@ module Gptinfo
18
18
  @hash = hash
19
19
  end
20
20
 
21
+ def capabiliy
22
+ case type
23
+ when 'python'
24
+ 'Code Interpreter'
25
+ when 'dalle'
26
+ 'DALL·E Image Generation'
27
+ when 'browser'
28
+ 'Web Browsing'
29
+ end
30
+ end
31
+
21
32
  private
22
33
 
23
34
  def get(keys)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gptinfo
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gptinfo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sead Feng
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-03 00:00:00.000000000 Z
11
+ date: 2023-12-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: GPT Info Parser
14
14
  email:
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
59
  requirements: []
60
- rubygems_version: 3.4.18
60
+ rubygems_version: 3.4.22
61
61
  signing_key:
62
62
  specification_version: 4
63
63
  summary: GPT Info Parser