moderation_api 1.2.0 → 1.2.2
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/Gemfile.lock +87 -0
- data/README.md +61 -106
- data/docs/AccountApi.md +5 -5
- data/docs/AccountGet200Response.md +2 -2
- data/docs/AccountGet200ResponseCurrentProject.md +2 -2
- data/docs/ActionsCreateRequest.md +2 -2
- data/docs/ActionsCreateRequestWebhooksInner.md +2 -2
- data/docs/ActionsDelete200Response.md +2 -2
- data/docs/ActionsExecute200Response.md +2 -2
- data/docs/ActionsExecuteDeprecatedRequest.md +2 -2
- data/docs/ActionsExecuteRequest.md +2 -2
- data/docs/ActionsGet200Response.md +2 -2
- data/docs/ActionsGet200ResponseWebhooksInner.md +2 -2
- data/docs/ActionsList200ResponseInner.md +2 -2
- data/docs/ActionsList200ResponseInnerPossibleValuesInner.md +2 -2
- data/docs/ActionsList400Response.md +2 -2
- data/docs/ActionsList400ResponseIssuesInner.md +2 -2
- data/docs/ActionsUpdateRequest.md +2 -2
- data/docs/ModerateApi.md +26 -26
- data/docs/ModerationAudioRequest.md +2 -2
- data/docs/ModerationImage200Response.md +2 -2
- data/docs/ModerationImage200ResponseLabelsInner.md +2 -2
- data/docs/ModerationImageRequest.md +2 -2
- data/docs/ModerationObject200Response.md +2 -2
- data/docs/ModerationObject200ResponseAllOfEntitiesInner.md +2 -2
- data/docs/ModerationObject200ResponseAllOfFieldsInner.md +2 -2
- data/docs/ModerationObject200ResponseAllOfLabelsInner.md +2 -2
- data/docs/ModerationObjectRequest.md +2 -2
- data/docs/ModerationObjectRequestValue.md +2 -2
- data/docs/ModerationObjectRequestValueDataValue.md +2 -2
- data/docs/ModerationText200Response.md +2 -2
- data/docs/ModerationText200ResponseAllOfAddress.md +2 -2
- data/docs/ModerationText200ResponseAllOfEmail.md +2 -2
- data/docs/ModerationText200ResponseAllOfName.md +2 -2
- data/docs/ModerationText200ResponseAllOfNsfw.md +2 -2
- data/docs/ModerationText200ResponseAllOfNsfwLabelScores.md +2 -2
- data/docs/ModerationText200ResponseAllOfPhone.md +2 -2
- data/docs/ModerationText200ResponseAllOfProfanity.md +2 -2
- data/docs/ModerationText200ResponseAllOfPropriety.md +2 -2
- data/docs/ModerationText200ResponseAllOfProprietyLabelScores.md +2 -2
- data/docs/ModerationText200ResponseAllOfQuality.md +2 -2
- data/docs/ModerationText200ResponseAllOfQualityLabelScores.md +2 -2
- data/docs/ModerationText200ResponseAllOfRequest.md +2 -2
- data/docs/ModerationText200ResponseAllOfSensitive.md +2 -2
- data/docs/ModerationText200ResponseAllOfSentiment.md +2 -2
- data/docs/ModerationText200ResponseAllOfSentimentLabelScores.md +2 -2
- data/docs/ModerationText200ResponseAllOfToxicity.md +2 -2
- data/docs/ModerationText200ResponseAllOfToxicityLabelScores.md +2 -2
- data/docs/ModerationText200ResponseAllOfUrl.md +2 -2
- data/docs/ModerationText200ResponseAllOfUsername.md +2 -2
- data/docs/ModerationText200ResponseAllOfWordlist.md +2 -2
- data/docs/ModerationText200ResponseAllOfWordlistsInner.md +2 -2
- data/docs/ModerationTextRequest.md +2 -2
- data/docs/ModerationVideo200Response.md +2 -2
- data/docs/ModerationVideoRequest.md +2 -2
- data/docs/QueueActionsApi.md +33 -33
- data/lib/moderation_api/api/account_api.rb +1 -1
- data/lib/moderation_api/api/moderate_api.rb +1 -1
- data/lib/moderation_api/api/queue_actions_api.rb +1 -1
- data/lib/moderation_api/api_client.rb +2 -2
- data/lib/moderation_api/api_error.rb +1 -1
- data/lib/moderation_api/configuration.rb +1 -1
- data/lib/moderation_api/models/account_get200_response.rb +4 -4
- data/lib/moderation_api/models/account_get200_response_current_project.rb +4 -4
- data/lib/moderation_api/models/actions_create_request.rb +4 -4
- data/lib/moderation_api/models/actions_create_request_webhooks_inner.rb +4 -4
- data/lib/moderation_api/models/actions_delete200_response.rb +4 -4
- data/lib/moderation_api/models/actions_execute200_response.rb +4 -4
- data/lib/moderation_api/models/actions_execute_deprecated_request.rb +4 -4
- data/lib/moderation_api/models/actions_execute_request.rb +4 -4
- data/lib/moderation_api/models/actions_get200_response.rb +4 -4
- data/lib/moderation_api/models/actions_get200_response_webhooks_inner.rb +4 -4
- data/lib/moderation_api/models/actions_list200_response_inner.rb +4 -4
- data/lib/moderation_api/models/actions_list200_response_inner_possible_values_inner.rb +4 -4
- data/lib/moderation_api/models/actions_list400_response.rb +4 -4
- data/lib/moderation_api/models/actions_list400_response_issues_inner.rb +4 -4
- data/lib/moderation_api/models/actions_update_request.rb +4 -4
- data/lib/moderation_api/models/moderation_audio_request.rb +4 -4
- data/lib/moderation_api/models/moderation_image200_response.rb +4 -4
- data/lib/moderation_api/models/moderation_image200_response_labels_inner.rb +4 -4
- data/lib/moderation_api/models/moderation_image_request.rb +4 -4
- data/lib/moderation_api/models/moderation_object200_response.rb +4 -4
- data/lib/moderation_api/models/moderation_object200_response_all_of_entities_inner.rb +4 -4
- data/lib/moderation_api/models/moderation_object200_response_all_of_fields_inner.rb +4 -4
- data/lib/moderation_api/models/moderation_object200_response_all_of_labels_inner.rb +4 -4
- data/lib/moderation_api/models/moderation_object_request.rb +4 -4
- data/lib/moderation_api/models/moderation_object_request_value.rb +4 -4
- data/lib/moderation_api/models/moderation_object_request_value_data_value.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_address.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_email.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_name.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_nsfw.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_nsfw_label_scores.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_phone.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_profanity.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_propriety.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_propriety_label_scores.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_quality.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_quality_label_scores.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_request.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_sensitive.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_sentiment.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_sentiment_label_scores.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_toxicity.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_toxicity_label_scores.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_url.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_username.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_wordlist.rb +4 -4
- data/lib/moderation_api/models/moderation_text200_response_all_of_wordlists_inner.rb +4 -4
- data/lib/moderation_api/models/moderation_text_request.rb +4 -4
- data/lib/moderation_api/models/moderation_video200_response.rb +4 -4
- data/lib/moderation_api/models/moderation_video_request.rb +4 -4
- data/lib/moderation_api/version.rb +2 -2
- data/lib/moderation_api/webhook.rb +41 -0
- data/lib/moderation_api.rb +56 -56
- data/moderation_api-1.2.0.gem +0 -0
- data/moderation_api-1.2.1.gem +0 -0
- data/moderation_api.gemspec +3 -3
- data/ruby_config.yaml +30 -0
- data/spec/api/account_api_spec.rb +3 -3
- data/spec/api/moderate_api_spec.rb +3 -3
- data/spec/api/queue_actions_api_spec.rb +3 -3
- data/spec/models/account_get200_response_current_project_spec.rb +4 -4
- data/spec/models/account_get200_response_spec.rb +4 -4
- data/spec/models/actions_create_request_spec.rb +4 -4
- data/spec/models/actions_create_request_webhooks_inner_spec.rb +4 -4
- data/spec/models/actions_delete200_response_spec.rb +4 -4
- data/spec/models/actions_execute200_response_spec.rb +4 -4
- data/spec/models/actions_execute_deprecated_request_spec.rb +4 -4
- data/spec/models/actions_execute_request_spec.rb +4 -4
- data/spec/models/actions_get200_response_spec.rb +4 -4
- data/spec/models/actions_get200_response_webhooks_inner_spec.rb +4 -4
- data/spec/models/actions_list200_response_inner_possible_values_inner_spec.rb +4 -4
- data/spec/models/actions_list200_response_inner_spec.rb +4 -4
- data/spec/models/actions_list400_response_issues_inner_spec.rb +4 -4
- data/spec/models/actions_list400_response_spec.rb +4 -4
- data/spec/models/actions_update_request_spec.rb +4 -4
- data/spec/models/moderation_audio_request_spec.rb +4 -4
- data/spec/models/moderation_image200_response_labels_inner_spec.rb +4 -4
- data/spec/models/moderation_image200_response_spec.rb +4 -4
- data/spec/models/moderation_image_request_spec.rb +4 -4
- data/spec/models/moderation_object200_response_all_of_entities_inner_spec.rb +4 -4
- data/spec/models/moderation_object200_response_all_of_fields_inner_spec.rb +4 -4
- data/spec/models/moderation_object200_response_all_of_labels_inner_spec.rb +4 -4
- data/spec/models/moderation_object200_response_spec.rb +4 -4
- data/spec/models/moderation_object_request_spec.rb +4 -4
- data/spec/models/moderation_object_request_value_data_value_spec.rb +4 -4
- data/spec/models/moderation_object_request_value_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_address_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_email_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_name_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_nsfw_label_scores_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_nsfw_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_phone_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_profanity_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_propriety_label_scores_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_propriety_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_quality_label_scores_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_quality_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_request_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_sensitive_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_sentiment_label_scores_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_sentiment_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_toxicity_label_scores_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_toxicity_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_url_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_username_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_wordlist_spec.rb +4 -4
- data/spec/models/moderation_text200_response_all_of_wordlists_inner_spec.rb +4 -4
- data/spec/models/moderation_text200_response_spec.rb +4 -4
- data/spec/models/moderation_text_request_spec.rb +4 -4
- data/spec/models/moderation_video200_response_spec.rb +4 -4
- data/spec/models/moderation_video_request_spec.rb +4 -4
- metadata +9 -4
@@ -13,7 +13,7 @@ Generator version: 7.10.0
|
|
13
13
|
require 'date'
|
14
14
|
require 'time'
|
15
15
|
|
16
|
-
module
|
16
|
+
module ModerationApi
|
17
17
|
# The url entity matcher output if enabled in your project. Read more at https://docs.moderationapi.com/models/url
|
18
18
|
class ModerationText200ResponseAllOfUrl
|
19
19
|
# The detection mode.
|
@@ -96,13 +96,13 @@ module ModerationAPI
|
|
96
96
|
# @param [Hash] attributes Model attributes in the form of hash
|
97
97
|
def initialize(attributes = {})
|
98
98
|
if (!attributes.is_a?(Hash))
|
99
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `
|
99
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationText200ResponseAllOfUrl` initialize method"
|
100
100
|
end
|
101
101
|
|
102
102
|
# check to see if the attribute exists and convert string to symbol for hash key
|
103
103
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
104
104
|
if (!self.class.attribute_map.key?(k.to_sym))
|
105
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `
|
105
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationText200ResponseAllOfUrl`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
106
106
|
end
|
107
107
|
h[k.to_sym] = v
|
108
108
|
}
|
@@ -247,7 +247,7 @@ module ModerationAPI
|
|
247
247
|
end
|
248
248
|
else # model
|
249
249
|
# models (e.g. Pet) or oneOf
|
250
|
-
klass =
|
250
|
+
klass = ModerationApi.const_get(type)
|
251
251
|
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
252
252
|
end
|
253
253
|
end
|
@@ -13,7 +13,7 @@ Generator version: 7.10.0
|
|
13
13
|
require 'date'
|
14
14
|
require 'time'
|
15
15
|
|
16
|
-
module
|
16
|
+
module ModerationApi
|
17
17
|
# The username entity matcher output if enabled in your project. Read more at https://docs.moderationapi.com/models/username
|
18
18
|
class ModerationText200ResponseAllOfUsername
|
19
19
|
# The detection mode.
|
@@ -96,13 +96,13 @@ module ModerationAPI
|
|
96
96
|
# @param [Hash] attributes Model attributes in the form of hash
|
97
97
|
def initialize(attributes = {})
|
98
98
|
if (!attributes.is_a?(Hash))
|
99
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `
|
99
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationText200ResponseAllOfUsername` initialize method"
|
100
100
|
end
|
101
101
|
|
102
102
|
# check to see if the attribute exists and convert string to symbol for hash key
|
103
103
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
104
104
|
if (!self.class.attribute_map.key?(k.to_sym))
|
105
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `
|
105
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationText200ResponseAllOfUsername`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
106
106
|
end
|
107
107
|
h[k.to_sym] = v
|
108
108
|
}
|
@@ -247,7 +247,7 @@ module ModerationAPI
|
|
247
247
|
end
|
248
248
|
else # model
|
249
249
|
# models (e.g. Pet) or oneOf
|
250
|
-
klass =
|
250
|
+
klass = ModerationApi.const_get(type)
|
251
251
|
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
252
252
|
end
|
253
253
|
end
|
@@ -13,7 +13,7 @@ Generator version: 7.10.0
|
|
13
13
|
require 'date'
|
14
14
|
require 'time'
|
15
15
|
|
16
|
-
module
|
16
|
+
module ModerationApi
|
17
17
|
# The wordlist entity matcher output if enabled in your project. Read more at https://docs.moderationapi.com/models/word
|
18
18
|
class ModerationText200ResponseAllOfWordlist
|
19
19
|
# The detection mode.
|
@@ -96,13 +96,13 @@ module ModerationAPI
|
|
96
96
|
# @param [Hash] attributes Model attributes in the form of hash
|
97
97
|
def initialize(attributes = {})
|
98
98
|
if (!attributes.is_a?(Hash))
|
99
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `
|
99
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationText200ResponseAllOfWordlist` initialize method"
|
100
100
|
end
|
101
101
|
|
102
102
|
# check to see if the attribute exists and convert string to symbol for hash key
|
103
103
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
104
104
|
if (!self.class.attribute_map.key?(k.to_sym))
|
105
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `
|
105
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationText200ResponseAllOfWordlist`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
106
106
|
end
|
107
107
|
h[k.to_sym] = v
|
108
108
|
}
|
@@ -247,7 +247,7 @@ module ModerationAPI
|
|
247
247
|
end
|
248
248
|
else # model
|
249
249
|
# models (e.g. Pet) or oneOf
|
250
|
-
klass =
|
250
|
+
klass = ModerationApi.const_get(type)
|
251
251
|
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
252
252
|
end
|
253
253
|
end
|
@@ -13,7 +13,7 @@ Generator version: 7.10.0
|
|
13
13
|
require 'date'
|
14
14
|
require 'time'
|
15
15
|
|
16
|
-
module
|
16
|
+
module ModerationApi
|
17
17
|
class ModerationText200ResponseAllOfWordlistsInner
|
18
18
|
# The flagging mode.
|
19
19
|
attr_accessor :mode
|
@@ -115,13 +115,13 @@ module ModerationAPI
|
|
115
115
|
# @param [Hash] attributes Model attributes in the form of hash
|
116
116
|
def initialize(attributes = {})
|
117
117
|
if (!attributes.is_a?(Hash))
|
118
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `
|
118
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationText200ResponseAllOfWordlistsInner` initialize method"
|
119
119
|
end
|
120
120
|
|
121
121
|
# check to see if the attribute exists and convert string to symbol for hash key
|
122
122
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
123
123
|
if (!self.class.attribute_map.key?(k.to_sym))
|
124
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `
|
124
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationText200ResponseAllOfWordlistsInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
125
125
|
end
|
126
126
|
h[k.to_sym] = v
|
127
127
|
}
|
@@ -321,7 +321,7 @@ module ModerationAPI
|
|
321
321
|
end
|
322
322
|
else # model
|
323
323
|
# models (e.g. Pet) or oneOf
|
324
|
-
klass =
|
324
|
+
klass = ModerationApi.const_get(type)
|
325
325
|
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
326
326
|
end
|
327
327
|
end
|
@@ -13,7 +13,7 @@ Generator version: 7.10.0
|
|
13
13
|
require 'date'
|
14
14
|
require 'time'
|
15
15
|
|
16
|
-
module
|
16
|
+
module ModerationApi
|
17
17
|
class ModerationTextRequest
|
18
18
|
# The text you'd like to analyze. We recommend to submit plain text or HTML
|
19
19
|
attr_accessor :value
|
@@ -72,13 +72,13 @@ module ModerationAPI
|
|
72
72
|
# @param [Hash] attributes Model attributes in the form of hash
|
73
73
|
def initialize(attributes = {})
|
74
74
|
if (!attributes.is_a?(Hash))
|
75
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `
|
75
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationTextRequest` initialize method"
|
76
76
|
end
|
77
77
|
|
78
78
|
# check to see if the attribute exists and convert string to symbol for hash key
|
79
79
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
80
80
|
if (!self.class.attribute_map.key?(k.to_sym))
|
81
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `
|
81
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationTextRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
82
82
|
end
|
83
83
|
h[k.to_sym] = v
|
84
84
|
}
|
@@ -274,7 +274,7 @@ module ModerationAPI
|
|
274
274
|
end
|
275
275
|
else # model
|
276
276
|
# models (e.g. Pet) or oneOf
|
277
|
-
klass =
|
277
|
+
klass = ModerationApi.const_get(type)
|
278
278
|
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
279
279
|
end
|
280
280
|
end
|
@@ -13,7 +13,7 @@ Generator version: 7.10.0
|
|
13
13
|
require 'date'
|
14
14
|
require 'time'
|
15
15
|
|
16
|
-
module
|
16
|
+
module ModerationApi
|
17
17
|
class ModerationVideo200Response
|
18
18
|
# Success if the request was successful
|
19
19
|
attr_accessor :status
|
@@ -61,13 +61,13 @@ module ModerationAPI
|
|
61
61
|
# @param [Hash] attributes Model attributes in the form of hash
|
62
62
|
def initialize(attributes = {})
|
63
63
|
if (!attributes.is_a?(Hash))
|
64
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `
|
64
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationVideo200Response` initialize method"
|
65
65
|
end
|
66
66
|
|
67
67
|
# check to see if the attribute exists and convert string to symbol for hash key
|
68
68
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
69
69
|
if (!self.class.attribute_map.key?(k.to_sym))
|
70
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `
|
70
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationVideo200Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
71
71
|
end
|
72
72
|
h[k.to_sym] = v
|
73
73
|
}
|
@@ -209,7 +209,7 @@ module ModerationAPI
|
|
209
209
|
end
|
210
210
|
else # model
|
211
211
|
# models (e.g. Pet) or oneOf
|
212
|
-
klass =
|
212
|
+
klass = ModerationApi.const_get(type)
|
213
213
|
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
214
214
|
end
|
215
215
|
end
|
@@ -13,7 +13,7 @@ Generator version: 7.10.0
|
|
13
13
|
require 'date'
|
14
14
|
require 'time'
|
15
15
|
|
16
|
-
module
|
16
|
+
module ModerationApi
|
17
17
|
class ModerationVideoRequest
|
18
18
|
# The URL of the video you want to analyze.
|
19
19
|
attr_accessor :url
|
@@ -72,13 +72,13 @@ module ModerationAPI
|
|
72
72
|
# @param [Hash] attributes Model attributes in the form of hash
|
73
73
|
def initialize(attributes = {})
|
74
74
|
if (!attributes.is_a?(Hash))
|
75
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `
|
75
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `ModerationApi::ModerationVideoRequest` initialize method"
|
76
76
|
end
|
77
77
|
|
78
78
|
# check to see if the attribute exists and convert string to symbol for hash key
|
79
79
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
80
80
|
if (!self.class.attribute_map.key?(k.to_sym))
|
81
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `
|
81
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `ModerationApi::ModerationVideoRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
82
82
|
end
|
83
83
|
h[k.to_sym] = v
|
84
84
|
}
|
@@ -246,7 +246,7 @@ module ModerationAPI
|
|
246
246
|
end
|
247
247
|
else # model
|
248
248
|
# models (e.g. Pet) or oneOf
|
249
|
-
klass =
|
249
|
+
klass = ModerationApi.const_get(type)
|
250
250
|
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
251
251
|
end
|
252
252
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
require 'openssl'
|
5
|
+
|
6
|
+
module ModerationApi
|
7
|
+
class Webhook
|
8
|
+
class SignatureVerificationError < StandardError; end
|
9
|
+
|
10
|
+
# This method attempts to verify the webhook signature from Moderation API.
|
11
|
+
# payload: The raw request body
|
12
|
+
# sig_header: The 'HTTP_MODAPI_SIGNATURE' header from the request
|
13
|
+
# secret: Your webhook signing secret
|
14
|
+
#
|
15
|
+
def self.construct_event(payload, sig_header, secret)
|
16
|
+
# Verify the signature
|
17
|
+
digest = OpenSSL::Digest.new('sha256')
|
18
|
+
signed = OpenSSL::HMAC.hexdigest(digest, secret, payload)
|
19
|
+
|
20
|
+
if secure_compare(signed, sig_header)
|
21
|
+
JSON.parse(payload, symbolize_names: true)
|
22
|
+
else
|
23
|
+
raise SignatureVerificationError, 'Signature verification failed'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
# Compares the signature in a way that mitigates timing attacks
|
30
|
+
#
|
31
|
+
def self.secure_compare(a, b)
|
32
|
+
return false unless a.bytesize == b.bytesize
|
33
|
+
|
34
|
+
l = a.unpack "C#{a.bytesize}"
|
35
|
+
|
36
|
+
res = 0
|
37
|
+
b.each_byte { |byte| res |= byte ^ l.shift }
|
38
|
+
res == 0
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/moderation_api.rb
CHANGED
@@ -17,67 +17,67 @@ require 'moderation_api/version'
|
|
17
17
|
require 'moderation_api/configuration'
|
18
18
|
|
19
19
|
# Models
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
20
|
+
ModerationApi.autoload :AccountGet200Response, 'moderation_api/models/account_get200_response'
|
21
|
+
ModerationApi.autoload :AccountGet200ResponseCurrentProject, 'moderation_api/models/account_get200_response_current_project'
|
22
|
+
ModerationApi.autoload :ActionsCreateRequest, 'moderation_api/models/actions_create_request'
|
23
|
+
ModerationApi.autoload :ActionsCreateRequestWebhooksInner, 'moderation_api/models/actions_create_request_webhooks_inner'
|
24
|
+
ModerationApi.autoload :ActionsDelete200Response, 'moderation_api/models/actions_delete200_response'
|
25
|
+
ModerationApi.autoload :ActionsExecute200Response, 'moderation_api/models/actions_execute200_response'
|
26
|
+
ModerationApi.autoload :ActionsExecuteDeprecatedRequest, 'moderation_api/models/actions_execute_deprecated_request'
|
27
|
+
ModerationApi.autoload :ActionsExecuteRequest, 'moderation_api/models/actions_execute_request'
|
28
|
+
ModerationApi.autoload :ActionsGet200Response, 'moderation_api/models/actions_get200_response'
|
29
|
+
ModerationApi.autoload :ActionsGet200ResponseWebhooksInner, 'moderation_api/models/actions_get200_response_webhooks_inner'
|
30
|
+
ModerationApi.autoload :ActionsList200ResponseInner, 'moderation_api/models/actions_list200_response_inner'
|
31
|
+
ModerationApi.autoload :ActionsList200ResponseInnerPossibleValuesInner, 'moderation_api/models/actions_list200_response_inner_possible_values_inner'
|
32
|
+
ModerationApi.autoload :ActionsList400Response, 'moderation_api/models/actions_list400_response'
|
33
|
+
ModerationApi.autoload :ActionsList400ResponseIssuesInner, 'moderation_api/models/actions_list400_response_issues_inner'
|
34
|
+
ModerationApi.autoload :ActionsUpdateRequest, 'moderation_api/models/actions_update_request'
|
35
|
+
ModerationApi.autoload :ModerationAudioRequest, 'moderation_api/models/moderation_audio_request'
|
36
|
+
ModerationApi.autoload :ModerationImage200Response, 'moderation_api/models/moderation_image200_response'
|
37
|
+
ModerationApi.autoload :ModerationImage200ResponseLabelsInner, 'moderation_api/models/moderation_image200_response_labels_inner'
|
38
|
+
ModerationApi.autoload :ModerationImageRequest, 'moderation_api/models/moderation_image_request'
|
39
|
+
ModerationApi.autoload :ModerationObject200Response, 'moderation_api/models/moderation_object200_response'
|
40
|
+
ModerationApi.autoload :ModerationObject200ResponseAllOfEntitiesInner, 'moderation_api/models/moderation_object200_response_all_of_entities_inner'
|
41
|
+
ModerationApi.autoload :ModerationObject200ResponseAllOfFieldsInner, 'moderation_api/models/moderation_object200_response_all_of_fields_inner'
|
42
|
+
ModerationApi.autoload :ModerationObject200ResponseAllOfLabelsInner, 'moderation_api/models/moderation_object200_response_all_of_labels_inner'
|
43
|
+
ModerationApi.autoload :ModerationObjectRequest, 'moderation_api/models/moderation_object_request'
|
44
|
+
ModerationApi.autoload :ModerationObjectRequestValue, 'moderation_api/models/moderation_object_request_value'
|
45
|
+
ModerationApi.autoload :ModerationObjectRequestValueDataValue, 'moderation_api/models/moderation_object_request_value_data_value'
|
46
|
+
ModerationApi.autoload :ModerationText200Response, 'moderation_api/models/moderation_text200_response'
|
47
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfAddress, 'moderation_api/models/moderation_text200_response_all_of_address'
|
48
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfEmail, 'moderation_api/models/moderation_text200_response_all_of_email'
|
49
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfName, 'moderation_api/models/moderation_text200_response_all_of_name'
|
50
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfNsfw, 'moderation_api/models/moderation_text200_response_all_of_nsfw'
|
51
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfNsfwLabelScores, 'moderation_api/models/moderation_text200_response_all_of_nsfw_label_scores'
|
52
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfPhone, 'moderation_api/models/moderation_text200_response_all_of_phone'
|
53
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfProfanity, 'moderation_api/models/moderation_text200_response_all_of_profanity'
|
54
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfPropriety, 'moderation_api/models/moderation_text200_response_all_of_propriety'
|
55
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfProprietyLabelScores, 'moderation_api/models/moderation_text200_response_all_of_propriety_label_scores'
|
56
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfQuality, 'moderation_api/models/moderation_text200_response_all_of_quality'
|
57
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfQualityLabelScores, 'moderation_api/models/moderation_text200_response_all_of_quality_label_scores'
|
58
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfRequest, 'moderation_api/models/moderation_text200_response_all_of_request'
|
59
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfSensitive, 'moderation_api/models/moderation_text200_response_all_of_sensitive'
|
60
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfSentiment, 'moderation_api/models/moderation_text200_response_all_of_sentiment'
|
61
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfSentimentLabelScores, 'moderation_api/models/moderation_text200_response_all_of_sentiment_label_scores'
|
62
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfToxicity, 'moderation_api/models/moderation_text200_response_all_of_toxicity'
|
63
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfToxicityLabelScores, 'moderation_api/models/moderation_text200_response_all_of_toxicity_label_scores'
|
64
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfUrl, 'moderation_api/models/moderation_text200_response_all_of_url'
|
65
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfUsername, 'moderation_api/models/moderation_text200_response_all_of_username'
|
66
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfWordlist, 'moderation_api/models/moderation_text200_response_all_of_wordlist'
|
67
|
+
ModerationApi.autoload :ModerationText200ResponseAllOfWordlistsInner, 'moderation_api/models/moderation_text200_response_all_of_wordlists_inner'
|
68
|
+
ModerationApi.autoload :ModerationTextRequest, 'moderation_api/models/moderation_text_request'
|
69
|
+
ModerationApi.autoload :ModerationVideo200Response, 'moderation_api/models/moderation_video200_response'
|
70
|
+
ModerationApi.autoload :ModerationVideoRequest, 'moderation_api/models/moderation_video_request'
|
71
71
|
|
72
72
|
# APIs
|
73
|
-
|
74
|
-
|
75
|
-
|
73
|
+
ModerationApi.autoload :AccountApi, 'moderation_api/api/account_api'
|
74
|
+
ModerationApi.autoload :ModerateApi, 'moderation_api/api/moderate_api'
|
75
|
+
ModerationApi.autoload :QueueActionsApi, 'moderation_api/api/queue_actions_api'
|
76
76
|
|
77
|
-
module
|
77
|
+
module ModerationApi
|
78
78
|
class << self
|
79
79
|
# Customize default settings for the SDK using block.
|
80
|
-
#
|
80
|
+
# ModerationApi.configure do |config|
|
81
81
|
# config.username = "xxx"
|
82
82
|
# config.password = "xxx"
|
83
83
|
# end
|
Binary file
|
Binary file
|
data/moderation_api.gemspec
CHANGED
@@ -17,7 +17,7 @@ require "moderation_api/version"
|
|
17
17
|
|
18
18
|
Gem::Specification.new do |s|
|
19
19
|
s.name = "moderation_api"
|
20
|
-
s.version =
|
20
|
+
s.version = ModerationApi::VERSION
|
21
21
|
s.platform = Gem::Platform::RUBY
|
22
22
|
s.authors = ["Moderation API"]
|
23
23
|
s.email = ["info@moderationapi.com"]
|
@@ -28,8 +28,8 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.required_ruby_version = ">= 3.0"
|
29
29
|
s.metadata = {
|
30
30
|
"homepage_uri" => "https://moderationapi.com",
|
31
|
-
"source_code_uri" => "https://github.com/
|
32
|
-
"documentation_uri" => "https://moderationapi.com
|
31
|
+
"source_code_uri" => "https://github.com/moderation-api/moderation-api-ruby-client",
|
32
|
+
"documentation_uri" => "https://docs.moderationapi.com"
|
33
33
|
}
|
34
34
|
|
35
35
|
s.add_runtime_dependency 'faraday', '>= 1.0.1', '< 3.0'
|
data/ruby_config.yaml
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# Basic gem information
|
2
|
+
gemName: moderation_api
|
3
|
+
gemVersion: 1.2.2
|
4
|
+
moduleName: ModerationApi
|
5
|
+
gemAuthor: Moderation API
|
6
|
+
gemAuthorEmail: info@moderationapi.com
|
7
|
+
gemDescription: Automatically moderate your content with Moderation API
|
8
|
+
gemSummary: A Ruby SDK for the Moderation API - content moderation, PII detection, and text analysis
|
9
|
+
gemHomepage: https://moderationapi.com
|
10
|
+
gemLicense: MIT
|
11
|
+
|
12
|
+
# HTTP client library
|
13
|
+
library: faraday
|
14
|
+
|
15
|
+
# Ruby version requirement
|
16
|
+
gemRequiredRubyVersion: ">= 3.0"
|
17
|
+
|
18
|
+
# Additional settings
|
19
|
+
sortParamsByRequiredFlag: true
|
20
|
+
sortModelPropertiesByRequiredFlag: true
|
21
|
+
hideGenerationTimestamp: true
|
22
|
+
useAutoload: true
|
23
|
+
|
24
|
+
# API behavior settings
|
25
|
+
ensureUniqueParams: true
|
26
|
+
enumUnknownDefaultCase: true
|
27
|
+
legacyDiscriminatorBehavior: false
|
28
|
+
|
29
|
+
# Metadata as a string
|
30
|
+
gemMetadata: '{"tags": ["moderation", "detect", "pii", "content_moderation", "filtering", "api", "automation", "content", "toxic", "nsfw", "analysis", "nlp", "text_analysis", "sentiment", "spam", "image_moderation", "text_moderation"]}'
|
@@ -13,13 +13,13 @@ Generator version: 7.10.0
|
|
13
13
|
require 'spec_helper'
|
14
14
|
require 'json'
|
15
15
|
|
16
|
-
# Unit tests for
|
16
|
+
# Unit tests for ModerationApi::AccountApi
|
17
17
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
18
|
# Please update as you see appropriate
|
19
19
|
describe 'AccountApi' do
|
20
20
|
before do
|
21
21
|
# run before each test
|
22
|
-
@api_instance =
|
22
|
+
@api_instance = ModerationApi::AccountApi.new
|
23
23
|
end
|
24
24
|
|
25
25
|
after do
|
@@ -28,7 +28,7 @@ describe 'AccountApi' do
|
|
28
28
|
|
29
29
|
describe 'test an instance of AccountApi' do
|
30
30
|
it 'should create an instance of AccountApi' do
|
31
|
-
expect(@api_instance).to be_instance_of(
|
31
|
+
expect(@api_instance).to be_instance_of(ModerationApi::AccountApi)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -13,13 +13,13 @@ Generator version: 7.10.0
|
|
13
13
|
require 'spec_helper'
|
14
14
|
require 'json'
|
15
15
|
|
16
|
-
# Unit tests for
|
16
|
+
# Unit tests for ModerationApi::ModerateApi
|
17
17
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
18
|
# Please update as you see appropriate
|
19
19
|
describe 'ModerateApi' do
|
20
20
|
before do
|
21
21
|
# run before each test
|
22
|
-
@api_instance =
|
22
|
+
@api_instance = ModerationApi::ModerateApi.new
|
23
23
|
end
|
24
24
|
|
25
25
|
after do
|
@@ -28,7 +28,7 @@ describe 'ModerateApi' do
|
|
28
28
|
|
29
29
|
describe 'test an instance of ModerateApi' do
|
30
30
|
it 'should create an instance of ModerateApi' do
|
31
|
-
expect(@api_instance).to be_instance_of(
|
31
|
+
expect(@api_instance).to be_instance_of(ModerationApi::ModerateApi)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -13,13 +13,13 @@ Generator version: 7.10.0
|
|
13
13
|
require 'spec_helper'
|
14
14
|
require 'json'
|
15
15
|
|
16
|
-
# Unit tests for
|
16
|
+
# Unit tests for ModerationApi::QueueActionsApi
|
17
17
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
18
|
# Please update as you see appropriate
|
19
19
|
describe 'QueueActionsApi' do
|
20
20
|
before do
|
21
21
|
# run before each test
|
22
|
-
@api_instance =
|
22
|
+
@api_instance = ModerationApi::QueueActionsApi.new
|
23
23
|
end
|
24
24
|
|
25
25
|
after do
|
@@ -28,7 +28,7 @@ describe 'QueueActionsApi' do
|
|
28
28
|
|
29
29
|
describe 'test an instance of QueueActionsApi' do
|
30
30
|
it 'should create an instance of QueueActionsApi' do
|
31
|
-
expect(@api_instance).to be_instance_of(
|
31
|
+
expect(@api_instance).to be_instance_of(ModerationApi::QueueActionsApi)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -14,16 +14,16 @@ require 'spec_helper'
|
|
14
14
|
require 'json'
|
15
15
|
require 'date'
|
16
16
|
|
17
|
-
# Unit tests for
|
17
|
+
# Unit tests for ModerationApi::AccountGet200ResponseCurrentProject
|
18
18
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
19
19
|
# Please update as you see appropriate
|
20
|
-
describe
|
21
|
-
let(:instance) {
|
20
|
+
describe ModerationApi::AccountGet200ResponseCurrentProject do
|
21
|
+
let(:instance) { ModerationApi::AccountGet200ResponseCurrentProject.new }
|
22
22
|
|
23
23
|
describe 'test an instance of AccountGet200ResponseCurrentProject' do
|
24
24
|
it 'should create an instance of AccountGet200ResponseCurrentProject' do
|
25
25
|
# uncomment below to test the instance creation
|
26
|
-
#expect(instance).to be_instance_of(
|
26
|
+
#expect(instance).to be_instance_of(ModerationApi::AccountGet200ResponseCurrentProject)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -14,16 +14,16 @@ require 'spec_helper'
|
|
14
14
|
require 'json'
|
15
15
|
require 'date'
|
16
16
|
|
17
|
-
# Unit tests for
|
17
|
+
# Unit tests for ModerationApi::AccountGet200Response
|
18
18
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
19
19
|
# Please update as you see appropriate
|
20
|
-
describe
|
21
|
-
let(:instance) {
|
20
|
+
describe ModerationApi::AccountGet200Response do
|
21
|
+
let(:instance) { ModerationApi::AccountGet200Response.new }
|
22
22
|
|
23
23
|
describe 'test an instance of AccountGet200Response' do
|
24
24
|
it 'should create an instance of AccountGet200Response' do
|
25
25
|
# uncomment below to test the instance creation
|
26
|
-
#expect(instance).to be_instance_of(
|
26
|
+
#expect(instance).to be_instance_of(ModerationApi::AccountGet200Response)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -14,16 +14,16 @@ require 'spec_helper'
|
|
14
14
|
require 'json'
|
15
15
|
require 'date'
|
16
16
|
|
17
|
-
# Unit tests for
|
17
|
+
# Unit tests for ModerationApi::ActionsCreateRequest
|
18
18
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
19
19
|
# Please update as you see appropriate
|
20
|
-
describe
|
21
|
-
let(:instance) {
|
20
|
+
describe ModerationApi::ActionsCreateRequest do
|
21
|
+
let(:instance) { ModerationApi::ActionsCreateRequest.new }
|
22
22
|
|
23
23
|
describe 'test an instance of ActionsCreateRequest' do
|
24
24
|
it 'should create an instance of ActionsCreateRequest' do
|
25
25
|
# uncomment below to test the instance creation
|
26
|
-
#expect(instance).to be_instance_of(
|
26
|
+
#expect(instance).to be_instance_of(ModerationApi::ActionsCreateRequest)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|