ruby-gemini-api 0.1.6 → 0.1.7
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 +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/gemini/version.rb +1 -1
- data/lib/gemini.rb +14 -13
- metadata +6 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 89f3cb8e2bfe7ee5c3e2319312a44b8eefe756d984aa0a26373102f5a3d7eb18
|
|
4
|
+
data.tar.gz: 0b3272695fc70f9a841261f525799faea9b6da6562bf949d167ec511f1e04eb4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3ac51187c27d747ea663c269d63b87a8e31a52febdce56efcc7b17497ffa17987e9b61a957c1ee95ea265128594a22ac3ce937a0380c97e5422a81e6906b052c
|
|
7
|
+
data.tar.gz: 8ca1da9ce78243b3435c7baf5b059253ecb1a32b98092520342fa3063135315713da4cb98c9ee789fcbf28453fadf1f2e2bbfb39d28b3e515b60549ac78f8012
|
data/CHANGELOG.md
CHANGED
|
@@ -1,27 +1,39 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
3
|
## [0.1.0] - 2025-04-05
|
|
4
|
+
|
|
4
5
|
- Initial release
|
|
5
6
|
|
|
6
7
|
## [0.1.1] - 2025-05-04
|
|
8
|
+
|
|
7
9
|
- Changed generate_contents to accept temperature parameter
|
|
8
10
|
|
|
9
11
|
## [0.1.2] - 2025-07-10
|
|
12
|
+
|
|
10
13
|
- Add function calling
|
|
11
14
|
|
|
12
15
|
## [0.1.3] - 2025-10-09
|
|
16
|
+
|
|
13
17
|
- Add support for multi-image input
|
|
14
18
|
|
|
15
19
|
## [0.1.4] - 2025-11-08
|
|
20
|
+
|
|
16
21
|
- Add support for grounding search
|
|
17
22
|
|
|
18
23
|
## [0.1.5] - 2025-11-13
|
|
24
|
+
|
|
19
25
|
- Add support for URL Context tool
|
|
20
26
|
- Add simplified method for accessing grounding search sources
|
|
21
27
|
|
|
22
28
|
## [0.1.6] - 2025-12-11
|
|
29
|
+
|
|
23
30
|
- Add support for video understanding
|
|
24
31
|
- Analyze local video files (Files API and inline data)
|
|
25
32
|
- Analyze YouTube videos
|
|
26
33
|
- Helper methods: describe, ask, extract_timestamps, analyze_segment
|
|
27
34
|
- Support for MP4, MPEG, MOV, AVI, FLV, WebM, WMV, 3GPP formats
|
|
35
|
+
- Change default model to gemini-2.5-flash
|
|
36
|
+
|
|
37
|
+
## [0.1.7] - 2026-01-13
|
|
38
|
+
|
|
39
|
+
- Remove dotenv dependency
|
data/lib/gemini/version.rb
CHANGED
data/lib/gemini.rb
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
require "faraday"
|
|
2
2
|
require "faraday/multipart"
|
|
3
3
|
require "json"
|
|
4
|
-
require 'dotenv/load'
|
|
5
4
|
|
|
6
|
-
require_relative
|
|
7
|
-
require_relative
|
|
5
|
+
require_relative "gemini/version"
|
|
6
|
+
require_relative "gemini/tool_definition"
|
|
8
7
|
require_relative "gemini/http_headers"
|
|
9
8
|
require_relative "gemini/http"
|
|
10
9
|
require_relative "gemini/client"
|
|
@@ -20,6 +19,7 @@ require_relative "gemini/response"
|
|
|
20
19
|
require_relative "gemini/documents"
|
|
21
20
|
require_relative "gemini/cached_content"
|
|
22
21
|
require_relative "gemini/video"
|
|
22
|
+
|
|
23
23
|
module Gemini
|
|
24
24
|
class Error < StandardError; end
|
|
25
25
|
class ConfigurationError < Error; end
|
|
@@ -27,28 +27,29 @@ module Gemini
|
|
|
27
27
|
class APIError < Error; end
|
|
28
28
|
class RateLimitError < Error; end
|
|
29
29
|
class InvalidRequestError < Error; end
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
class MiddlewareErrors < Faraday::Middleware
|
|
32
32
|
def call(env)
|
|
33
33
|
@app.call(env)
|
|
34
34
|
rescue Faraday::Error => e
|
|
35
35
|
raise e unless e.response.is_a?(Hash)
|
|
36
|
+
|
|
36
37
|
Gemini.log_message("Gemini HTTP Error", e.response[:body], :error)
|
|
37
38
|
raise e
|
|
38
39
|
end
|
|
39
40
|
end
|
|
40
|
-
|
|
41
|
+
|
|
41
42
|
class Configuration
|
|
42
43
|
attr_accessor :api_key,
|
|
43
44
|
:uri_base,
|
|
44
45
|
:log_errors,
|
|
45
46
|
:request_timeout,
|
|
46
47
|
:extra_headers
|
|
47
|
-
|
|
48
|
+
|
|
48
49
|
DEFAULT_URI_BASE = "https://generativelanguage.googleapis.com/v1beta".freeze
|
|
49
50
|
DEFAULT_REQUEST_TIMEOUT = 120
|
|
50
51
|
DEFAULT_LOG_ERRORS = false
|
|
51
|
-
|
|
52
|
+
|
|
52
53
|
def initialize
|
|
53
54
|
@api_key = nil
|
|
54
55
|
@log_errors = DEFAULT_LOG_ERRORS
|
|
@@ -57,21 +58,21 @@ module Gemini
|
|
|
57
58
|
@extra_headers = {}
|
|
58
59
|
end
|
|
59
60
|
end
|
|
60
|
-
|
|
61
|
+
|
|
61
62
|
class << self
|
|
62
63
|
attr_writer :configuration
|
|
63
|
-
|
|
64
|
+
|
|
64
65
|
def configuration
|
|
65
66
|
@configuration ||= Gemini::Configuration.new
|
|
66
67
|
end
|
|
67
|
-
|
|
68
|
+
|
|
68
69
|
def configure
|
|
69
70
|
yield(configuration)
|
|
70
71
|
end
|
|
71
|
-
|
|
72
|
+
|
|
72
73
|
def log_message(prefix, message, level = :warn)
|
|
73
74
|
return unless configuration.log_errors
|
|
74
|
-
|
|
75
|
+
|
|
75
76
|
color = level == :error ? "\033[31m" : "\033[33m"
|
|
76
77
|
logger = Logger.new($stdout)
|
|
77
78
|
logger.formatter = proc do |_severity, _datetime, _progname, msg|
|
|
@@ -80,4 +81,4 @@ module Gemini
|
|
|
80
81
|
logger.send(level, message)
|
|
81
82
|
end
|
|
82
83
|
end
|
|
83
|
-
end
|
|
84
|
+
end
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby-gemini-api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- rira100000000
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-01-13 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: faraday
|
|
@@ -172,6 +173,7 @@ metadata:
|
|
|
172
173
|
source_code_uri: https://github.com/rira100000000/ruby-gemini-api
|
|
173
174
|
changelog_uri: https://github.com/rira100000000/ruby-gemini-api/blob/main/CHANGELOG.md
|
|
174
175
|
rubygems_mfa_required: 'true'
|
|
176
|
+
post_install_message:
|
|
175
177
|
rdoc_options: []
|
|
176
178
|
require_paths:
|
|
177
179
|
- lib
|
|
@@ -186,7 +188,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
186
188
|
- !ruby/object:Gem::Version
|
|
187
189
|
version: '0'
|
|
188
190
|
requirements: []
|
|
189
|
-
rubygems_version: 3.
|
|
191
|
+
rubygems_version: 3.3.26
|
|
192
|
+
signing_key:
|
|
190
193
|
specification_version: 4
|
|
191
194
|
summary: Ruby client for Google's Gemini API
|
|
192
195
|
test_files: []
|