diff --git a/.github/workflows/publish-gem.yml b/.github/workflows/publish-gem.yml new file mode 100644 index 0000000..7114c2b --- /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/moderation-api/sdk-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.MODERATION_API_RUBYGEMS_HOST || secrets.RUBYGEMS_HOST }} + GEM_HOST_API_KEY: ${{ secrets.MODERATION_API_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..405cac7 --- /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 == 'moderation-api/sdk-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.MODERATION_API_RUBYGEMS_HOST || secrets.RUBYGEMS_HOST }} + GEM_HOST_API_KEY: ${{ secrets.MODERATION_API_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..65f558e --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "2.0.0" +} \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index b9af0da..53699ba 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 27 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api%2Fmoderation-api-b71e4bef3bf1d91ff75dc3414d212613e5be0efb29b773ff12363814491fc604.yml -openapi_spec_hash: 261c3af6614314fbdd6ea3f7fb61979a -config_hash: f38dc79204f0ce87448d88959cebe94f +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/moderation-api%2Fmoderation-api-00998c942fa9c81cb927833a3ebb681744bf59757610d9e6ce64ecf71ff2c13e.yml +openapi_spec_hash: 73a0d08c06aa948c82999fe0bca9a5e9 +config_hash: d3a21c98941e21d1937472ca25c37abb diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0c46227 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,28 @@ +# Changelog + +## 2.0.0 (2025-12-05) + +Full Changelog: [v0.0.1...v2.0.0](https://github.com/moderation-api/sdk-ruby/compare/v0.0.1...v2.0.0) + +### Features + +* **api:** api update ([400d1cc](https://github.com/moderation-api/sdk-ruby/commit/400d1cc55e946cd047ebe6837c64e881f9796120)) +* **api:** api update ([34ddc34](https://github.com/moderation-api/sdk-ruby/commit/34ddc3478338af0c07107d739c570bd0cb688215)) +* **api:** api update ([7b0c383](https://github.com/moderation-api/sdk-ruby/commit/7b0c38363370d29eeacc1a5e6cecb909c0b16353)) +* **api:** manual updates ([aa5e0e6](https://github.com/moderation-api/sdk-ruby/commit/aa5e0e6d3afd7be708d96205d2748a40845b7931)) +* **api:** manual updates ([c38719d](https://github.com/moderation-api/sdk-ruby/commit/c38719de057b770b675e67383cc4e5fac1973a9c)) +* **api:** manual updates ([e304765](https://github.com/moderation-api/sdk-ruby/commit/e304765ec2028a345bcc3e860f1e7f53ffb30a58)) +* **api:** manual updates ([2e5bc4c](https://github.com/moderation-api/sdk-ruby/commit/2e5bc4cfc267ccdfe6d26a9873409856d01ddc5d)) +* **api:** manual updates ([667a0b8](https://github.com/moderation-api/sdk-ruby/commit/667a0b81c42ac2f4fd04035386dedf0cf67380ea)) +* **api:** manual updates ([ed95ed4](https://github.com/moderation-api/sdk-ruby/commit/ed95ed44d04677ce0699a00d9bfedca7b1a1db8f)) +* **api:** manual updates ([495a03b](https://github.com/moderation-api/sdk-ruby/commit/495a03b50318611091d581c0ef3892c44883e391)) +* **api:** manual updates ([a17bf98](https://github.com/moderation-api/sdk-ruby/commit/a17bf98e0d126505db304b1d316812a42ccd2a81)) +* **api:** manual updates ([f20d9aa](https://github.com/moderation-api/sdk-ruby/commit/f20d9aaa79b9d5b043a07bcc133bbdcd930c25c7)) +* **api:** manual updates ([6dc2d9d](https://github.com/moderation-api/sdk-ruby/commit/6dc2d9d4c46a7b4c0fed2a5e2b5821c951e5ccdf)) +* **api:** removed deprecated moderate endpoints ([5b163bc](https://github.com/moderation-api/sdk-ruby/commit/5b163bc4faf3fc881ea176aef9c58cef265943fe)) + + +### Chores + +* configure new SDK language ([22d6295](https://github.com/moderation-api/sdk-ruby/commit/22d6295c55898708f8e39df213365f37ad17f075)) +* update SDK settings ([492eccb](https://github.com/moderation-api/sdk-ruby/commit/492eccbceb612aef715d3f9c295882c1e5bd5961)) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1585861..42c2ffc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,17 +43,17 @@ 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 "moderation-api", git: "https://www.github.com/stainless-sdks/moderation-api-ruby" +gem "moderation_api", git: "https://www.github.com/moderation-api/sdk-ruby" ``` Alternatively, reference local copy of the repo: ```bash -$ git clone -- 'https://www.github.com/stainless-sdks/moderation-api-ruby' '' +$ git clone -- 'https://www.github.com/moderation-api/sdk-ruby' '' ``` ```ruby -gem "moderation-api", path: "" +gem "moderation_api", path: "" ``` ## Running commands diff --git a/Gemfile.lock b/Gemfile.lock index 9837460..7bcfd1f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - moderation-api (0.0.1) + moderation_api (2.0.0) connection_pool GEM @@ -208,7 +208,7 @@ DEPENDENCIES minitest-hooks minitest-proveit minitest-rg - moderation-api! + moderation_api! rake rbs redcarpet diff --git a/README.md b/README.md index b378bcf..d4ae223 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # Moderation API Ruby API library -The Moderation API Ruby library provides convenient access to the Moderation API 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/moderation-api-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 Moderation API Ruby library provides convenient access to the Moderation API 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/moderation-api/sdk-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/). ## Documentation -Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/moderation-api). +Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/moderation_api). The REST API documentation can be found on [docs.moderationapi.com](https://docs.moderationapi.com). @@ -14,10 +14,14 @@ The REST API documentation can be found on [docs.moderationapi.com](https://docs To use this gem, install via Bundler by adding the following to your application's `Gemfile`: + + ```ruby -gem "moderation-api", "~> 0.0.1" +gem "moderation_api", "~> 2.0.0" ``` + + ## Usage ```ruby @@ -230,4 +234,4 @@ Ruby 3.2.0 or higher. ## Contributing -See [the contributing documentation](https://github.com/stainless-sdks/moderation-api-ruby/tree/main/CONTRIBUTING.md). +See [the contributing documentation](https://github.com/moderation-api/sdk-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/lib/moderation_api/models/content_submit_params.rb b/lib/moderation_api/models/content_submit_params.rb index 726a999..2a8ec99 100644 --- a/lib/moderation_api/models/content_submit_params.rb +++ b/lib/moderation_api/models/content_submit_params.rb @@ -10,7 +10,7 @@ class ContentSubmitParams < ModerationAPI::Internal::Type::BaseModel # @!attribute content # The content sent for moderation # - # @return [ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode] + # @return [ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::Object] required :content, union: -> { ModerationAPI::ContentSubmitParams::Content } # @!attribute author_id @@ -57,8 +57,7 @@ class ContentSubmitParams < ModerationAPI::Internal::Type::BaseModel optional :meta_type, enum: -> { ModerationAPI::ContentSubmitParams::MetaType }, api_name: :metaType # @!attribute policies - # Optionally override the channel policies for this moderation request only - # (enterprise). + # (Enterprise) override the channel policies for this moderation request only. # # @return [Array, nil] optional :policies, @@ -68,7 +67,7 @@ class ContentSubmitParams < ModerationAPI::Internal::Type::BaseModel # Some parameter documentations has been truncated, see # {ModerationAPI::Models::ContentSubmitParams} for more details. # - # @param content [ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode] The content sent for moderation + # @param content [ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::Object] The content sent for moderation # # @param author_id [String] The author of the content. # @@ -84,7 +83,7 @@ class ContentSubmitParams < ModerationAPI::Internal::Type::BaseModel # # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated # - # @param policies [Array] Optionally override the channel policies for this moderation request only (enter + # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. # # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}] @@ -105,7 +104,7 @@ module Content variant -> { ModerationAPI::ContentSubmitParams::Content::Audio } # Object - variant -> { ModerationAPI::ContentSubmitParams::Content::ContentNode } + variant -> { ModerationAPI::ContentSubmitParams::Content::Object } class Text < ModerationAPI::Internal::Type::BaseModel # @!attribute text @@ -187,13 +186,13 @@ class Audio < ModerationAPI::Internal::Type::BaseModel # @param type [Symbol, :audio] end - class ContentNode < ModerationAPI::Internal::Type::BaseModel + class Object < ModerationAPI::Internal::Type::BaseModel # @!attribute data # Values in the object. Can be mixed content types. # - # @return [Hash{Symbol=>ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Text, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Image, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Video, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Audio}] + # @return [Hash{Symbol=>ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Text, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Image, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Video, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Audio}] required :data, - -> { ModerationAPI::Internal::Type::HashOf[union: ModerationAPI::ContentSubmitParams::Content::ContentNode::Data] } + -> { ModerationAPI::Internal::Type::HashOf[union: ModerationAPI::ContentSubmitParams::Content::Object::Data] } # @!attribute type # @@ -203,7 +202,7 @@ class ContentNode < ModerationAPI::Internal::Type::BaseModel # @!method initialize(data:, type: :object) # Object # - # @param data [Hash{Symbol=>ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Text, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Image, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Video, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Audio}] Values in the object. Can be mixed content types. + # @param data [Hash{Symbol=>ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Text, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Image, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Video, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Audio}] Values in the object. Can be mixed content types. # # @param type [Symbol, :object] @@ -212,16 +211,16 @@ module Data extend ModerationAPI::Internal::Type::Union # Text - variant -> { ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Text } + variant -> { ModerationAPI::ContentSubmitParams::Content::Object::Data::Text } # Image - variant -> { ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Image } + variant -> { ModerationAPI::ContentSubmitParams::Content::Object::Data::Image } # Video - variant -> { ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Video } + variant -> { ModerationAPI::ContentSubmitParams::Content::Object::Data::Video } # Audio - variant -> { ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Audio } + variant -> { ModerationAPI::ContentSubmitParams::Content::Object::Data::Audio } class Text < ModerationAPI::Internal::Type::BaseModel # @!attribute text @@ -304,12 +303,12 @@ class Audio < ModerationAPI::Internal::Type::BaseModel end # @!method self.variants - # @return [Array(ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Text, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Image, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Video, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::Data::Audio)] + # @return [Array(ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Text, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Image, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Video, ModerationAPI::Models::ContentSubmitParams::Content::Object::Data::Audio)] end end # @!method self.variants - # @return [Array(ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode)] + # @return [Array(ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::Object)] end # The meta type of content being moderated diff --git a/lib/moderation_api/resources/content.rb b/lib/moderation_api/resources/content.rb index 8847242..7b0ecef 100644 --- a/lib/moderation_api/resources/content.rb +++ b/lib/moderation_api/resources/content.rb @@ -8,7 +8,7 @@ class Content # # @overload submit(content:, author_id: nil, channel: nil, content_id: nil, conversation_id: nil, do_not_store: nil, metadata: nil, meta_type: nil, policies: nil, request_options: {}) # - # @param content [ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode] The content sent for moderation + # @param content [ModerationAPI::Models::ContentSubmitParams::Content::Text, ModerationAPI::Models::ContentSubmitParams::Content::Image, ModerationAPI::Models::ContentSubmitParams::Content::Video, ModerationAPI::Models::ContentSubmitParams::Content::Audio, ModerationAPI::Models::ContentSubmitParams::Content::Object] The content sent for moderation # # @param author_id [String] The author of the content. # @@ -24,7 +24,7 @@ class Content # # @param meta_type [Symbol, ModerationAPI::Models::ContentSubmitParams::MetaType] The meta type of content being moderated # - # @param policies [Array] Optionally override the channel policies for this moderation request only (enter + # @param policies [Array] (Enterprise) override the channel policies for this moderation request only. # # @param request_options [ModerationAPI::RequestOptions, Hash{Symbol=>Object}, nil] # diff --git a/lib/moderation_api/version.rb b/lib/moderation_api/version.rb index 08e527e..f7aea9c 100644 --- a/lib/moderation_api/version.rb +++ b/lib/moderation_api/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module ModerationAPI - VERSION = "0.0.1" + VERSION = "2.0.0" end diff --git a/moderation_api.gemspec b/moderation_api.gemspec index 893f2cd..1a933e6 100644 --- a/moderation_api.gemspec +++ b/moderation_api.gemspec @@ -3,14 +3,14 @@ require_relative "lib/moderation_api/version" Gem::Specification.new do |s| - s.name = "moderation-api" + s.name = "moderation_api" s.version = ModerationAPI::VERSION - s.summary = "Ruby library to access the Moderation API API" + s.summary = "Ruby library to access the Moderation API" s.authors = ["Moderation API"] s.email = "support@moderationapi.com" - s.homepage = "https://gemdocs.org/gems/moderation-api" + s.homepage = "https://gemdocs.org/gems/moderation_api" s.metadata["homepage_uri"] = s.homepage - s.metadata["source_code_uri"] = "https://github.com/stainless-sdks/moderation-api-ruby" + s.metadata["source_code_uri"] = "https://github.com/moderation-api/sdk-ruby" s.metadata["rubygems_mfa_required"] = false.to_s s.required_ruby_version = ">= 3.2.0" diff --git a/rbi/moderation_api/models/content_submit_params.rbi b/rbi/moderation_api/models/content_submit_params.rbi index 1ff089a..2b8e773 100644 --- a/rbi/moderation_api/models/content_submit_params.rbi +++ b/rbi/moderation_api/models/content_submit_params.rbi @@ -22,7 +22,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Content::Image, ModerationAPI::ContentSubmitParams::Content::Video, ModerationAPI::ContentSubmitParams::Content::Audio, - ModerationAPI::ContentSubmitParams::Content::ContentNode + ModerationAPI::ContentSubmitParams::Content::Object ) ) end @@ -86,8 +86,7 @@ module ModerationAPI end attr_writer :meta_type - # Optionally override the channel policies for this moderation request only - # (enterprise). + # (Enterprise) override the channel policies for this moderation request only. sig do returns( T.nilable( @@ -165,7 +164,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Content::Image::OrHash, ModerationAPI::ContentSubmitParams::Content::Video::OrHash, ModerationAPI::ContentSubmitParams::Content::Audio::OrHash, - ModerationAPI::ContentSubmitParams::Content::ContentNode::OrHash + ModerationAPI::ContentSubmitParams::Content::Object::OrHash ), author_id: String, channel: String, @@ -223,8 +222,7 @@ module ModerationAPI metadata: nil, # The meta type of content being moderated meta_type: nil, - # Optionally override the channel policies for this moderation request only - # (enterprise). + # (Enterprise) override the channel policies for this moderation request only. policies: nil, request_options: {} ) @@ -239,7 +237,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Content::Image, ModerationAPI::ContentSubmitParams::Content::Video, ModerationAPI::ContentSubmitParams::Content::Audio, - ModerationAPI::ContentSubmitParams::Content::ContentNode + ModerationAPI::ContentSubmitParams::Content::Object ), author_id: String, channel: String, @@ -294,7 +292,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Content::Image, ModerationAPI::ContentSubmitParams::Content::Video, ModerationAPI::ContentSubmitParams::Content::Audio, - ModerationAPI::ContentSubmitParams::Content::ContentNode + ModerationAPI::ContentSubmitParams::Content::Object ) end @@ -418,11 +416,11 @@ module ModerationAPI end end - class ContentNode < ModerationAPI::Internal::Type::BaseModel + class Object < ModerationAPI::Internal::Type::BaseModel OrHash = T.type_alias do T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode, + ModerationAPI::ContentSubmitParams::Content::Object, ModerationAPI::Internal::AnyHash ) end @@ -433,10 +431,10 @@ module ModerationAPI T::Hash[ Symbol, T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Text, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Image, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Video, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Audio + ModerationAPI::ContentSubmitParams::Content::Object::Data::Text, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Image, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Video, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Audio ) ] ) @@ -453,10 +451,10 @@ module ModerationAPI T::Hash[ Symbol, T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Text::OrHash, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Image::OrHash, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Video::OrHash, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Audio::OrHash + ModerationAPI::ContentSubmitParams::Content::Object::Data::Text::OrHash, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Image::OrHash, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Video::OrHash, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Audio::OrHash ) ], type: Symbol @@ -476,10 +474,10 @@ module ModerationAPI T::Hash[ Symbol, T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Text, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Image, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Video, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Audio + ModerationAPI::ContentSubmitParams::Content::Object::Data::Text, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Image, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Video, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Audio ) ], type: Symbol @@ -496,10 +494,10 @@ module ModerationAPI Variants = T.type_alias do T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Text, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Image, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Video, - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Audio + ModerationAPI::ContentSubmitParams::Content::Object::Data::Text, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Image, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Video, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Audio ) end @@ -507,7 +505,7 @@ module ModerationAPI OrHash = T.type_alias do T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Text, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Text, ModerationAPI::Internal::AnyHash ) end @@ -539,7 +537,7 @@ module ModerationAPI OrHash = T.type_alias do T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Image, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Image, ModerationAPI::Internal::AnyHash ) end @@ -571,7 +569,7 @@ module ModerationAPI OrHash = T.type_alias do T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Video, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Video, ModerationAPI::Internal::AnyHash ) end @@ -603,7 +601,7 @@ module ModerationAPI OrHash = T.type_alias do T.any( - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Audio, + ModerationAPI::ContentSubmitParams::Content::Object::Data::Audio, ModerationAPI::Internal::AnyHash ) end @@ -634,7 +632,7 @@ module ModerationAPI sig do override.returns( T::Array[ - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Variants + ModerationAPI::ContentSubmitParams::Content::Object::Data::Variants ] ) end diff --git a/rbi/moderation_api/resources/content.rbi b/rbi/moderation_api/resources/content.rbi index 2fe0a74..66509d0 100644 --- a/rbi/moderation_api/resources/content.rbi +++ b/rbi/moderation_api/resources/content.rbi @@ -11,7 +11,7 @@ module ModerationAPI ModerationAPI::ContentSubmitParams::Content::Image::OrHash, ModerationAPI::ContentSubmitParams::Content::Video::OrHash, ModerationAPI::ContentSubmitParams::Content::Audio::OrHash, - ModerationAPI::ContentSubmitParams::Content::ContentNode::OrHash + ModerationAPI::ContentSubmitParams::Content::Object::OrHash ), author_id: String, channel: String, @@ -69,8 +69,7 @@ module ModerationAPI metadata: nil, # The meta type of content being moderated meta_type: nil, - # Optionally override the channel policies for this moderation request only - # (enterprise). + # (Enterprise) override the channel policies for this moderation request only. policies: nil, request_options: {} ) diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000..364e63f --- /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/moderation_api/version.rb", + "extra-files": [ + { + "type": "ruby-readme", + "path": "README.md" + } + ] +} \ No newline at end of file diff --git a/sig/moderation_api/models/content_submit_params.rbs b/sig/moderation_api/models/content_submit_params.rbs index fab4f8d..ce91819 100644 --- a/sig/moderation_api/models/content_submit_params.rbs +++ b/sig/moderation_api/models/content_submit_params.rbs @@ -87,7 +87,7 @@ module ModerationAPI | ModerationAPI::ContentSubmitParams::Content::Image | ModerationAPI::ContentSubmitParams::Content::Video | ModerationAPI::ContentSubmitParams::Content::Audio - | ModerationAPI::ContentSubmitParams::Content::ContentNode + | ModerationAPI::ContentSubmitParams::Content::Object module Content extend ModerationAPI::Internal::Type::Union @@ -140,32 +140,32 @@ module ModerationAPI def to_hash: -> { type: :audio, url: String } end - type content_node = + type object = { - data: ::Hash[Symbol, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::data], + data: ::Hash[Symbol, ModerationAPI::Models::ContentSubmitParams::Content::Object::data], type: :object } - class ContentNode < ModerationAPI::Internal::Type::BaseModel - attr_accessor data: ::Hash[Symbol, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::data] + class Object < ModerationAPI::Internal::Type::BaseModel + attr_accessor data: ::Hash[Symbol, ModerationAPI::Models::ContentSubmitParams::Content::Object::data] attr_accessor type: :object def initialize: ( - data: ::Hash[Symbol, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::data], + data: ::Hash[Symbol, ModerationAPI::Models::ContentSubmitParams::Content::Object::data], ?type: :object ) -> void def to_hash: -> { - data: ::Hash[Symbol, ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::data], + data: ::Hash[Symbol, ModerationAPI::Models::ContentSubmitParams::Content::Object::data], type: :object } type data = - ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Text - | ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Image - | ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Video - | ModerationAPI::ContentSubmitParams::Content::ContentNode::Data::Audio + ModerationAPI::ContentSubmitParams::Content::Object::Data::Text + | ModerationAPI::ContentSubmitParams::Content::Object::Data::Image + | ModerationAPI::ContentSubmitParams::Content::Object::Data::Video + | ModerationAPI::ContentSubmitParams::Content::Object::Data::Audio module Data extend ModerationAPI::Internal::Type::Union @@ -218,7 +218,7 @@ module ModerationAPI def to_hash: -> { type: :audio, url: String } end - def self?.variants: -> ::Array[ModerationAPI::Models::ContentSubmitParams::Content::ContentNode::data] + def self?.variants: -> ::Array[ModerationAPI::Models::ContentSubmitParams::Content::Object::data] end end