From feb82d35c7ad0a00c2425c19bf642c25572607e2 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 10:41:58 +0000 Subject: [PATCH 1/5] chore: update SDK settings --- .github/workflows/publish-gem.yml | 31 ++++++++++++ .github/workflows/release-doctor.yml | 22 +++++++++ .release-please-manifest.json | 3 ++ .stats.yml | 2 +- CONTRIBUTING.md | 4 +- README.md | 8 +++- bin/check-release-environment | 21 +++++++++ release-please-config.json | 70 ++++++++++++++++++++++++++++ scrapegraphai.gemspec | 2 +- 9 files changed, 157 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/publish-gem.yml create mode 100644 .github/workflows/release-doctor.yml create mode 100644 .release-please-manifest.json create mode 100644 bin/check-release-environment create mode 100644 release-please-config.json diff --git a/.github/workflows/publish-gem.yml b/.github/workflows/publish-gem.yml new file mode 100644 index 0000000..db6ea75 --- /dev/null +++ b/.github/workflows/publish-gem.yml @@ -0,0 +1,31 @@ +# This workflow is triggered when a GitHub release is created. +# It can also be run manually to re-publish to rubygems.org in case it failed for some reason. +# You can run this workflow by navigating to https://www.github.com/ScrapeGraphAI/scrapegraphai-ruby/actions/workflows/publish-gem.yml +name: Publish Gem +on: + workflow_dispatch: + + release: + types: [published] + +jobs: + publish: + name: publish + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: false + - run: |- + bundle install + + - name: Publish to RubyGems.org + run: | + bash ./bin/publish-gem + env: + # `RUBYGEMS_HOST` is only required for private gem repositories, not https://rubygems.org + RUBYGEMS_HOST: ${{ secrets.SCRAPEGRAPHAI_RUBYGEMS_HOST || secrets.RUBYGEMS_HOST }} + GEM_HOST_API_KEY: ${{ secrets.SCRAPEGRAPHAI_GEM_HOST_API_KEY || secrets.GEM_HOST_API_KEY }} diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml new file mode 100644 index 0000000..c8e8fe8 --- /dev/null +++ b/.github/workflows/release-doctor.yml @@ -0,0 +1,22 @@ +name: Release Doctor +on: + pull_request: + branches: + - main + workflow_dispatch: + +jobs: + release_doctor: + name: release doctor + runs-on: ubuntu-latest + if: github.repository == 'ScrapeGraphAI/scrapegraphai-ruby' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next') + + steps: + - uses: actions/checkout@v4 + + - name: Check release environment + run: | + bash ./bin/check-release-environment + env: + RUBYGEMS_HOST: ${{ secrets.SCRAPEGRAPHAI_RUBYGEMS_HOST || secrets.RUBYGEMS_HOST }} + GEM_HOST_API_KEY: ${{ secrets.SCRAPEGRAPHAI_GEM_HOST_API_KEY || secrets.GEM_HOST_API_KEY }} diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000..1332969 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "0.0.1" +} \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 636c6f9..561b1cc 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 15 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/scrapegraphai%2Fscrapegraphai-969ebada41127057e4cda129b2e7206224743b5c7fd33aa8ae062ff71b775ac9.yml openapi_spec_hash: 2b2c2c684e6f6885398efca5f2b1f854 -config_hash: 30d69c79e34a1ea6a0405573ce30d927 +config_hash: 6889576ba0fdc14f2c71cea09a60a0f6 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 903e5fe..ec5addf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,13 +43,13 @@ If you’d like to use the repository from source, you can either install from g To install via git in your `Gemfile`: ```ruby -gem "scrapegraphai", git: "https://www.github.com/stainless-sdks/scrapegraphai-ruby" +gem "scrapegraphai", git: "https://www.github.com/ScrapeGraphAI/scrapegraphai-ruby" ``` Alternatively, reference local copy of the repo: ```bash -$ git clone -- 'https://www.github.com/stainless-sdks/scrapegraphai-ruby' '' +$ git clone -- 'https://www.github.com/ScrapeGraphAI/scrapegraphai-ruby' '' ``` ```ruby diff --git a/README.md b/README.md index 77916c1..c401391 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Scrapegraphai Ruby API library -The Scrapegraphai Ruby library provides convenient access to the Scrapegraphai REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/stainless-sdks/scrapegraphai-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem. +The Scrapegraphai Ruby library provides convenient access to the Scrapegraphai REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/ScrapeGraphAI/scrapegraphai-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem. It is generated with [Stainless](https://www.stainless.com/). @@ -14,10 +14,14 @@ The REST API documentation can be found on [scrapegraphai.com](https://scrapegra To use this gem, install via Bundler by adding the following to your application's `Gemfile`: + + ```ruby gem "scrapegraphai", "~> 0.0.1" ``` + + ## Usage ```ruby @@ -235,4 +239,4 @@ Ruby 3.2.0 or higher. ## Contributing -See [the contributing documentation](https://github.com/stainless-sdks/scrapegraphai-ruby/tree/main/CONTRIBUTING.md). +See [the contributing documentation](https://github.com/ScrapeGraphAI/scrapegraphai-ruby/tree/main/CONTRIBUTING.md). diff --git a/bin/check-release-environment b/bin/check-release-environment new file mode 100644 index 0000000..c05436e --- /dev/null +++ b/bin/check-release-environment @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +errors=() + +if [ -z "${GEM_HOST_API_KEY}" ]; then + errors+=("The GEM_HOST_API_KEY secret has not been set. Please set it in either this repository's secrets or your organization secrets") +fi + +lenErrors=${#errors[@]} + +if [[ lenErrors -gt 0 ]]; then + echo -e "Found the following errors in the release environment:\n" + + for error in "${errors[@]}"; do + echo -e "- $error\n" + done + + exit 1 +fi + +echo "The environment is ready to push releases!" diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..3f5720a --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,70 @@ +{ + "packages": { + ".": {} + }, + "$schema": "https://raw.githubusercontent.com/stainless-api/release-please/main/schemas/config.json", + "include-v-in-tag": true, + "include-component-in-tag": false, + "versioning": "prerelease", + "prerelease": true, + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": false, + "pull-request-header": "Automated Release PR", + "pull-request-title-pattern": "release: ${version}", + "changelog-sections": [ + { + "type": "feat", + "section": "Features" + }, + { + "type": "fix", + "section": "Bug Fixes" + }, + { + "type": "perf", + "section": "Performance Improvements" + }, + { + "type": "revert", + "section": "Reverts" + }, + { + "type": "chore", + "section": "Chores" + }, + { + "type": "docs", + "section": "Documentation" + }, + { + "type": "style", + "section": "Styles" + }, + { + "type": "refactor", + "section": "Refactors" + }, + { + "type": "test", + "section": "Tests", + "hidden": true + }, + { + "type": "build", + "section": "Build System" + }, + { + "type": "ci", + "section": "Continuous Integration", + "hidden": true + } + ], + "release-type": "ruby", + "version-file": "lib/scrapegraphai/version.rb", + "extra-files": [ + { + "type": "ruby-readme", + "path": "README.md" + } + ] +} \ No newline at end of file diff --git a/scrapegraphai.gemspec b/scrapegraphai.gemspec index 9743167..e15938e 100644 --- a/scrapegraphai.gemspec +++ b/scrapegraphai.gemspec @@ -10,7 +10,7 @@ Gem::Specification.new do |s| s.email = "" s.homepage = "https://gemdocs.org/gems/scrapegraphai" s.metadata["homepage_uri"] = s.homepage - s.metadata["source_code_uri"] = "https://github.com/stainless-sdks/scrapegraphai-ruby" + s.metadata["source_code_uri"] = "https://github.com/ScrapeGraphAI/scrapegraphai-ruby" s.metadata["rubygems_mfa_required"] = false.to_s s.required_ruby_version = ">= 3.2.0" From 5eac2d183e1e82671df34e23af49d79794937575 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 04:18:44 +0000 Subject: [PATCH 2/5] fix: bump sorbet version and fix new type errors from the breaking change --- .rubocop.yml | 2 +- Gemfile.lock | 88 +++++++++++-------- .../internal/transport/base_client.rb | 5 +- .../transport/pooled_net_requester.rb | 10 +-- lib/scrapegraphai/internal/type/base_model.rb | 9 +- lib/scrapegraphai/internal/util.rb | 2 +- rbi/scrapegraphai/errors.rbi | 4 +- .../internal/type/base_model_test.rb | 6 ++ test/scrapegraphai/internal/util_test.rb | 12 +-- 9 files changed, 68 insertions(+), 70 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 0526c49..59b8f6d 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -149,7 +149,7 @@ Naming/ClassAndModuleCamelCase: Naming/MethodParameterName: Enabled: false -Naming/PredicateName: +Naming/PredicatePrefix: Exclude: - "**/*.rbi" diff --git a/Gemfile.lock b/Gemfile.lock index b4af6d9..3d0f47c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -17,7 +17,7 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (8.0.2) + activesupport (8.0.2.1) base64 benchmark (>= 0.3) bigdecimal @@ -33,45 +33,50 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) ast (2.4.3) - async (2.24.0) + async (2.27.3) console (~> 1.29) fiber-annotation - io-event (~> 1.9) + io-event (~> 1.11) metrics (~> 0.12) traces (~> 0.15) - base64 (0.2.0) - benchmark (0.4.0) - bigdecimal (3.1.9) + base64 (0.3.0) + benchmark (0.4.1) + bigdecimal (3.2.2) concurrent-ruby (1.3.5) connection_pool (2.5.3) - console (1.30.2) + console (1.33.0) fiber-annotation fiber-local (~> 1.1) json crack (1.0.0) bigdecimal rexml - csv (3.3.4) - drb (2.2.1) + csv (3.3.5) + drb (2.2.3) erubi (1.13.1) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) fiber-annotation (0.2.0) fiber-local (1.1.0) fiber-storage fiber-storage (1.0.1) fileutils (1.7.3) - hashdiff (1.1.2) + hashdiff (1.2.0) i18n (1.14.7) concurrent-ruby (~> 1.0) - io-event (1.10.0) - json (2.11.3) - language_server-protocol (3.17.0.4) + io-event (1.11.2) + json (2.13.2) + language_server-protocol (3.17.0.5) lint_roller (1.1.0) listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - metrics (0.12.2) + metrics (0.13.0) minitest (5.25.5) minitest-focus (1.4.0) minitest (>= 4, < 6) @@ -84,7 +89,7 @@ GEM mutex_m (0.3.0) netrc (0.11.0) parallel (1.27.0) - parser (3.3.8.0) + parser (3.3.9.0) ast (~> 2.4.1) racc prettier_print (1.2.1) @@ -92,20 +97,19 @@ GEM public_suffix (6.0.2) racc (1.8.1) rainbow (3.1.1) - rake (13.2.1) + rake (13.3.0) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbi (0.3.2) + rbi (0.3.6) prism (~> 1.0) rbs (>= 3.4.4) - sorbet-runtime (>= 0.5.9204) - rbs (3.9.2) + rbs (3.9.4) logger redcarpet (3.6.1) - regexp_parser (2.10.0) + regexp_parser (2.11.2) rexml (3.4.1) - rubocop (1.75.5) + rubocop (1.79.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -113,25 +117,28 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.44.0, < 2.0) + rubocop-ast (>= 1.46.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.44.1) + rubocop-ast (1.46.0) parser (>= 3.3.7.2) prism (~> 1.4) ruby-progressbar (1.13.0) securerandom (0.4.1) - sorbet (0.5.12067) - sorbet-static (= 0.5.12067) - sorbet-runtime (0.5.12067) - sorbet-static (0.5.12067-x86_64-linux) - sorbet-static-and-runtime (0.5.12067) - sorbet (= 0.5.12067) - sorbet-runtime (= 0.5.12067) - spoom (1.6.1) + sorbet (0.5.12424) + sorbet-static (= 0.5.12424) + sorbet-runtime (0.5.12424) + sorbet-static (0.5.12424-aarch64-linux) + sorbet-static (0.5.12424-universal-darwin) + sorbet-static (0.5.12424-x86_64-linux) + sorbet-static-and-runtime (0.5.12424) + sorbet (= 0.5.12424) + sorbet-runtime (= 0.5.12424) + spoom (1.6.3) erubi (>= 1.10.0) prism (>= 0.28.0) - rbi (>= 0.2.3) + rbi (>= 0.3.3) + rexml (>= 3.2.6) sorbet-static-and-runtime (>= 0.5.10187) thor (>= 0.19.2) steep (1.10.0) @@ -152,7 +159,7 @@ GEM terminal-table (>= 2, < 5) uri (>= 0.12.0) strscan (3.1.5) - syntax_tree (6.2.0) + syntax_tree (6.3.0) prettier_print (>= 1.2.0) tapioca (0.16.11) benchmark @@ -166,11 +173,11 @@ GEM yard-sorbet terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) - thor (1.3.2) - traces (0.15.2) + thor (1.4.0) + traces (0.17.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (3.1.4) + unicode-display_width (3.1.5) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) uri (1.0.3) @@ -185,7 +192,14 @@ GEM yard PLATFORMS - x86_64-linux + aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl + arm64-darwin + universal-darwin + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES async diff --git a/lib/scrapegraphai/internal/transport/base_client.rb b/lib/scrapegraphai/internal/transport/base_client.rb index 626eb9a..85f4b2c 100644 --- a/lib/scrapegraphai/internal/transport/base_client.rb +++ b/lib/scrapegraphai/internal/transport/base_client.rb @@ -367,10 +367,7 @@ def initialize( # @return [Array(Integer, Net::HTTPResponse, Enumerable)] def send_request(request, redirect_count:, retry_count:, send_retry_header:) url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout) - input = { - **request.except(:timeout), - deadline: Scrapegraphai::Internal::Util.monotonic_secs + timeout - } + input = {**request.except(:timeout), deadline: Scrapegraphai::Internal::Util.monotonic_secs + timeout} if send_retry_header headers["x-stainless-retry-count"] = retry_count.to_s diff --git a/lib/scrapegraphai/internal/transport/pooled_net_requester.rb b/lib/scrapegraphai/internal/transport/pooled_net_requester.rb index 02576a8..9d23fe9 100644 --- a/lib/scrapegraphai/internal/transport/pooled_net_requester.rb +++ b/lib/scrapegraphai/internal/transport/pooled_net_requester.rb @@ -193,15 +193,7 @@ def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS) end define_sorbet_constant!(:Request) do - T.type_alias do - { - method: Symbol, - url: URI::Generic, - headers: T::Hash[String, String], - body: T.anything, - deadline: Float - } - end + T.type_alias { {method: Symbol, url: URI::Generic, headers: T::Hash[String, String], body: T.anything, deadline: Float} } end end end diff --git a/lib/scrapegraphai/internal/type/base_model.rb b/lib/scrapegraphai/internal/type/base_model.rb index 3206b81..7d0c770 100644 --- a/lib/scrapegraphai/internal/type/base_model.rb +++ b/lib/scrapegraphai/internal/type/base_model.rb @@ -64,14 +64,7 @@ def fields setter = :"#{name_sym}=" api_name = info.fetch(:api_name, name_sym) nilable = info.fetch(:nil?, false) - const = if required && !nilable - info.fetch( - :const, - Scrapegraphai::Internal::OMIT - ) - else - Scrapegraphai::Internal::OMIT - end + const = required && !nilable ? info.fetch(:const, Scrapegraphai::Internal::OMIT) : Scrapegraphai::Internal::OMIT [name_sym, setter].each { undef_method(_1) } if known_fields.key?(name_sym) diff --git a/lib/scrapegraphai/internal/util.rb b/lib/scrapegraphai/internal/util.rb index 6e32e7b..f656915 100644 --- a/lib/scrapegraphai/internal/util.rb +++ b/lib/scrapegraphai/internal/util.rb @@ -244,7 +244,7 @@ class << self # # @return [String] def uri_origin(uri) - "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}" + "#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}" end # @api private diff --git a/rbi/scrapegraphai/errors.rbi b/rbi/scrapegraphai/errors.rbi index 6cece32..55addcb 100644 --- a/rbi/scrapegraphai/errors.rbi +++ b/rbi/scrapegraphai/errors.rbi @@ -59,10 +59,10 @@ module Scrapegraphai end class APIConnectionError < Scrapegraphai::Errors::APIError - sig { void } + sig { returns(NilClass) } attr_accessor :status - sig { void } + sig { returns(NilClass) } attr_accessor :body # @api private diff --git a/test/scrapegraphai/internal/type/base_model_test.rb b/test/scrapegraphai/internal/type/base_model_test.rb index 81d9fdb..1b1e591 100644 --- a/test/scrapegraphai/internal/type/base_model_test.rb +++ b/test/scrapegraphai/internal/type/base_model_test.rb @@ -157,6 +157,7 @@ def test_dump_retry class Scrapegraphai::Test::EnumModelTest < Minitest::Test class E0 include Scrapegraphai::Internal::Type::Enum + attr_reader :values def initialize(*values) = (@values = values) @@ -476,6 +477,7 @@ def initialize(*variants) = variants.each { variant(_1) } module U1 extend Scrapegraphai::Internal::Type::Union + variant const: :a variant const: 2 end @@ -492,6 +494,7 @@ class M2 < Scrapegraphai::Internal::Type::BaseModel module U2 extend Scrapegraphai::Internal::Type::Union + discriminator :type variant :a, M1 @@ -500,6 +503,7 @@ module U2 module U3 extend Scrapegraphai::Internal::Type::Union + discriminator :type variant :a, M1 @@ -508,6 +512,7 @@ module U3 module U4 extend Scrapegraphai::Internal::Type::Union + discriminator :type variant String @@ -601,6 +606,7 @@ def test_coerce class Scrapegraphai::Test::BaseModelQoLTest < Minitest::Test class E0 include Scrapegraphai::Internal::Type::Enum + attr_reader :values def initialize(*values) = (@values = values) diff --git a/test/scrapegraphai/internal/util_test.rb b/test/scrapegraphai/internal/util_test.rb index 597e1aa..3283eb9 100644 --- a/test/scrapegraphai/internal/util_test.rb +++ b/test/scrapegraphai/internal/util_test.rb @@ -242,11 +242,7 @@ def test_hash_encode {strio: StringIO.new("a")} => {"strio" => "a"}, {strio: Scrapegraphai::FilePart.new("a")} => {"strio" => "a"}, {pathname: Pathname(__FILE__)} => {"pathname" => -> { _1.read in /^class Scrapegraphai/ }}, - {pathname: Scrapegraphai::FilePart.new(Pathname(__FILE__))} => { - "pathname" => -> { - _1.read in /^class Scrapegraphai/ - } - } + {pathname: Scrapegraphai::FilePart.new(Pathname(__FILE__))} => {"pathname" => -> { _1.read in /^class Scrapegraphai/ }} } cases.each do |body, testcase| encoded = Scrapegraphai::Internal::Util.encode_content(headers, body) @@ -324,9 +320,9 @@ def test_rewind_chain end def test_external_iteration - it = [1, 2, 3].to_enum - first = it.next - fused = Scrapegraphai::Internal::Util.fused_enum(it, external: true) + iter = [1, 2, 3].to_enum + first = iter.next + fused = Scrapegraphai::Internal::Util.fused_enum(iter, external: true) assert_equal(1, first) assert_equal([2, 3], fused.to_a) From f4212bc58fa4fc50bcb4e82c309ebe66856403bf Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 13:41:44 +0000 Subject: [PATCH 3/5] feat(api): update via SDK Studio --- .stats.yml | 4 ++-- lib/scrapegraphai/resources/generate_schema.rb | 3 ++- lib/scrapegraphai/resources/searchscraper.rb | 3 ++- rbi/scrapegraphai/resources/generate_schema.rbi | 6 +++++- rbi/scrapegraphai/resources/searchscraper.rbi | 6 +++++- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.stats.yml b/.stats.yml index 561b1cc..6804ffb 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 15 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/scrapegraphai%2Fscrapegraphai-969ebada41127057e4cda129b2e7206224743b5c7fd33aa8ae062ff71b775ac9.yml -openapi_spec_hash: 2b2c2c684e6f6885398efca5f2b1f854 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/scrapegraphai%2Fscrapegraphai-633fdeab6abaefbe666099e8f86ce6b2acc9dacff1c33a80813bb04e8e437229.yml +openapi_spec_hash: f41ec90694ca8e7233bd20cc7ff1afbf config_hash: 6889576ba0fdc14f2c71cea09a60a0f6 diff --git a/lib/scrapegraphai/resources/generate_schema.rb b/lib/scrapegraphai/resources/generate_schema.rb index 252ced9..ba5eadc 100644 --- a/lib/scrapegraphai/resources/generate_schema.rb +++ b/lib/scrapegraphai/resources/generate_schema.rb @@ -32,7 +32,8 @@ def create(params) # # @overload retrieve(request_id, request_options: {}) # - # @param request_id [String] + # @param request_id [String] Unique request identifier + # # @param request_options [Scrapegraphai::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Scrapegraphai::Models::GenerateSchemaRetrieveResponse::CompletedSchemaGenerationResponse, Scrapegraphai::Models::GenerateSchemaRetrieveResponse::FailedSchemaGenerationResponse] diff --git a/lib/scrapegraphai/resources/searchscraper.rb b/lib/scrapegraphai/resources/searchscraper.rb index fc5c733..978ba59 100644 --- a/lib/scrapegraphai/resources/searchscraper.rb +++ b/lib/scrapegraphai/resources/searchscraper.rb @@ -37,7 +37,8 @@ def create(params) # # @overload retrieve_status(request_id, request_options: {}) # - # @param request_id [String] + # @param request_id [String] Unique request identifier + # # @param request_options [Scrapegraphai::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Scrapegraphai::Models::CompletedSearchScraper, Scrapegraphai::Models::SearchscraperRetrieveStatusResponse::FailedSearchScraperResponse] diff --git a/rbi/scrapegraphai/resources/generate_schema.rbi b/rbi/scrapegraphai/resources/generate_schema.rbi index 21d8482..96833ea 100644 --- a/rbi/scrapegraphai/resources/generate_schema.rbi +++ b/rbi/scrapegraphai/resources/generate_schema.rbi @@ -30,7 +30,11 @@ module Scrapegraphai Scrapegraphai::Models::GenerateSchemaRetrieveResponse::Variants ) end - def retrieve(request_id, request_options: {}) + def retrieve( + # Unique request identifier + request_id, + request_options: {} + ) end # @api private diff --git a/rbi/scrapegraphai/resources/searchscraper.rbi b/rbi/scrapegraphai/resources/searchscraper.rbi index 285fa85..05c53ff 100644 --- a/rbi/scrapegraphai/resources/searchscraper.rbi +++ b/rbi/scrapegraphai/resources/searchscraper.rbi @@ -36,7 +36,11 @@ module Scrapegraphai Scrapegraphai::Models::SearchscraperRetrieveStatusResponse::Variants ) end - def retrieve_status(request_id, request_options: {}) + def retrieve_status( + # Unique request identifier + request_id, + request_options: {} + ) end # @api private From 69c97add2b0d8b3719eb93ee1efd2941bb2a3013 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 25 Aug 2025 02:13:45 +0000 Subject: [PATCH 4/5] chore: add json schema comment for rubocop.yml --- .rubocop.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index 59b8f6d..a3eb965 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,3 +1,4 @@ +# yaml-language-server: $schema=https://www.rubyschema.org/rubocop.json --- # Explicitly disable pending cops for now. This is the default behaviour but # this avoids a large warning every time we run it. @@ -8,7 +9,7 @@ AllCops: - "bin/*" NewCops: enable SuggestExtensions: false - TargetRubyVersion: 3.2.0 + TargetRubyVersion: 3.2 # Whether MFA is required or not should be left to the token configuration. Gemspec/RequireMFA: From 60592e2bcba58965dce9106bf61331cb8c348021 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 25 Aug 2025 02:13:59 +0000 Subject: [PATCH 5/5] release: 0.1.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 22 ++++++++++++++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/scrapegraphai/version.rb | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 CHANGELOG.md diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 1332969..3d2ac0b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.0.1" + ".": "0.1.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..1356275 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,22 @@ +# Changelog + +## 0.1.0 (2025-08-25) + +Full Changelog: [v0.0.1...v0.1.0](https://github.com/ScrapeGraphAI/scrapegraphai-ruby/compare/v0.0.1...v0.1.0) + +### Features + +* add files ([38693c7](https://github.com/ScrapeGraphAI/scrapegraphai-ruby/commit/38693c7bfbbb685cb67bd5608077160cfec2449b)) +* **api:** update via SDK Studio ([f4212bc](https://github.com/ScrapeGraphAI/scrapegraphai-ruby/commit/f4212bc58fa4fc50bcb4e82c309ebe66856403bf)) + + +### Bug Fixes + +* bump sorbet version and fix new type errors from the breaking change ([5eac2d1](https://github.com/ScrapeGraphAI/scrapegraphai-ruby/commit/5eac2d183e1e82671df34e23af49d79794937575)) + + +### Chores + +* add json schema comment for rubocop.yml ([69c97ad](https://github.com/ScrapeGraphAI/scrapegraphai-ruby/commit/69c97add2b0d8b3719eb93ee1efd2941bb2a3013)) +* configure new SDK language ([fb2515a](https://github.com/ScrapeGraphAI/scrapegraphai-ruby/commit/fb2515a6c3f6b1a96c9660246a9fac6ff8887826)) +* update SDK settings ([feb82d3](https://github.com/ScrapeGraphAI/scrapegraphai-ruby/commit/feb82d35c7ad0a00c2425c19bf642c25572607e2)) diff --git a/Gemfile.lock b/Gemfile.lock index 3d0f47c..1f0dbc7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - scrapegraphai (0.0.1) + scrapegraphai (0.1.0) connection_pool GEM diff --git a/README.md b/README.md index c401391..2d1c1da 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "scrapegraphai", "~> 0.0.1" +gem "scrapegraphai", "~> 0.1.0" ``` diff --git a/lib/scrapegraphai/version.rb b/lib/scrapegraphai/version.rb index 2ef4d62..63bd8af 100644 --- a/lib/scrapegraphai/version.rb +++ b/lib/scrapegraphai/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Scrapegraphai - VERSION = "0.0.1" + VERSION = "0.1.0" end