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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80e6cd429265c5341e1efcd3e701f9643cdb4785f18826234ec879178d4a236e
4
- data.tar.gz: c9a9c5201b616ce2d534393c1d99240563b9d36229dac4f564f71b4ed82ee42b
3
+ metadata.gz: 89f3cb8e2bfe7ee5c3e2319312a44b8eefe756d984aa0a26373102f5a3d7eb18
4
+ data.tar.gz: 0b3272695fc70f9a841261f525799faea9b6da6562bf949d167ec511f1e04eb4
5
5
  SHA512:
6
- metadata.gz: b1ac2fe8cf4dacad20f21a7eab1872fa496a797b76d9af12cb401c5f563aeaed9cd58e4323334fcd6bbf67d74273902b5f9f076a5a44833474b4f3a4e8409148
7
- data.tar.gz: 17693cd9f1a87ad1fdf21c26153d1ac351ca9137c99e1c97cddd2524333db21190b0bbf5c08b995939c950338f0d5bf4607263a2ae0bc92c0343b28d439c2a6f
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gemini
4
- VERSION = "0.1.6"
4
+ VERSION = "0.1.7"
5
5
  end
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 'gemini/version'
7
- require_relative 'gemini/tool_definition'
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.6
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: 1980-01-02 00:00:00.000000000 Z
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.7.2
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: []