zernio-sdk 0.0.113 → 0.0.114
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/README.md +1 -2
- data/docs/RedditPost.md +48 -0
- data/docs/RedditSearchApi.md +4 -4
- data/docs/SearchReddit200Response.md +5 -3
- data/docs/ValidateApi.md +9 -5
- data/lib/late-sdk/api/reddit_search_api.rb +3 -3
- data/lib/late-sdk/api/validate_api.rb +5 -2
- data/lib/late-sdk/models/{search_reddit200_response_posts_inner.rb → reddit_post.rb} +102 -26
- data/lib/late-sdk/models/search_reddit200_response.rb +20 -11
- data/lib/late-sdk/version.rb +1 -1
- data/lib/late-sdk.rb +1 -2
- data/openapi.yaml +73 -30
- data/spec/api/reddit_search_api_spec.rb +1 -1
- data/spec/api/validate_api_spec.rb +2 -1
- data/spec/models/{search_reddit200_response_posts_inner_spec.rb → reddit_post_spec.rb} +52 -10
- data/spec/models/search_reddit200_response_spec.rb +7 -1
- metadata +6 -10
- data/docs/GetRedditFeed200Response.md +0 -20
- data/docs/SearchReddit200ResponsePostsInner.md +0 -34
- data/lib/late-sdk/models/get_reddit_feed200_response.rb +0 -158
- data/spec/models/get_reddit_feed200_response_spec.rb +0 -42
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a83182f591d0c5d2a89f8849a478b6c6db8f448736ae99b559b98283e850be2c
|
|
4
|
+
data.tar.gz: b17b84ef66668649da58013d2550e47b31df68b267da799cea9d3539bf547718
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ef3ab06c1b0a6d38c35134b322dadc2140d8733e66bd5cdeeac5f55128a5539fad08279f56b9996e9f7ae11f778fc8ba47819de6bb3f1e5897534e7881d7e126
|
|
7
|
+
data.tar.gz: d6b499f8e07b63f88bf63bc7d5a8507246fe00e219c0034fc8bd674e9080d05517bf48b73345efcd866edf5738a5d57409185604442b63ca28fd4cd435ca9d01
|
data/README.md
CHANGED
|
@@ -627,7 +627,6 @@ Class | Method | HTTP request | Description
|
|
|
627
627
|
- [Late::GetPostingFrequency200Response](docs/GetPostingFrequency200Response.md)
|
|
628
628
|
- [Late::GetPostingFrequency200ResponseFrequencyInner](docs/GetPostingFrequency200ResponseFrequencyInner.md)
|
|
629
629
|
- [Late::GetProfile200Response](docs/GetProfile200Response.md)
|
|
630
|
-
- [Late::GetRedditFeed200Response](docs/GetRedditFeed200Response.md)
|
|
631
630
|
- [Late::GetRedditFlairs200Response](docs/GetRedditFlairs200Response.md)
|
|
632
631
|
- [Late::GetRedditFlairs200ResponseFlairsInner](docs/GetRedditFlairs200ResponseFlairsInner.md)
|
|
633
632
|
- [Late::GetRedditSubreddits200Response](docs/GetRedditSubreddits200Response.md)
|
|
@@ -844,6 +843,7 @@ Class | Method | HTTP request | Description
|
|
|
844
843
|
- [Late::RecyclingConfig](docs/RecyclingConfig.md)
|
|
845
844
|
- [Late::RecyclingState](docs/RecyclingState.md)
|
|
846
845
|
- [Late::RedditPlatformData](docs/RedditPlatformData.md)
|
|
846
|
+
- [Late::RedditPost](docs/RedditPost.md)
|
|
847
847
|
- [Late::RejectWhatsAppGroupJoinRequestsRequest](docs/RejectWhatsAppGroupJoinRequestsRequest.md)
|
|
848
848
|
- [Late::ReleaseWhatsAppPhoneNumber200Response](docs/ReleaseWhatsAppPhoneNumber200Response.md)
|
|
849
849
|
- [Late::ReleaseWhatsAppPhoneNumber200ResponsePhoneNumber](docs/ReleaseWhatsAppPhoneNumber200ResponsePhoneNumber.md)
|
|
@@ -870,7 +870,6 @@ Class | Method | HTTP request | Description
|
|
|
870
870
|
- [Late::SearchAdInterests200Response](docs/SearchAdInterests200Response.md)
|
|
871
871
|
- [Late::SearchAdInterests200ResponseInterestsInner](docs/SearchAdInterests200ResponseInterestsInner.md)
|
|
872
872
|
- [Late::SearchReddit200Response](docs/SearchReddit200Response.md)
|
|
873
|
-
- [Late::SearchReddit200ResponsePostsInner](docs/SearchReddit200ResponsePostsInner.md)
|
|
874
873
|
- [Late::SelectFacebookPage200Response](docs/SelectFacebookPage200Response.md)
|
|
875
874
|
- [Late::SelectFacebookPage200ResponseAccount](docs/SelectFacebookPage200ResponseAccount.md)
|
|
876
875
|
- [Late::SelectFacebookPageRequest](docs/SelectFacebookPageRequest.md)
|
data/docs/RedditPost.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Late::RedditPost
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | Reddit post ID (without type prefix) | [optional] |
|
|
8
|
+
| **fullname** | **String** | Reddit fullname (e.g. t3_abc123) | [optional] |
|
|
9
|
+
| **title** | **String** | | [optional] |
|
|
10
|
+
| **author** | **String** | | [optional] |
|
|
11
|
+
| **subreddit** | **String** | | [optional] |
|
|
12
|
+
| **url** | **String** | Post URL (may be a gallery URL | [optional] |
|
|
13
|
+
| **permalink** | **String** | Full permalink to the Reddit post | [optional] |
|
|
14
|
+
| **selftext** | **String** | Self-post body text (empty string for link posts) | [optional] |
|
|
15
|
+
| **created_utc** | **Float** | Unix timestamp of post creation | [optional] |
|
|
16
|
+
| **score** | **Integer** | | [optional] |
|
|
17
|
+
| **num_comments** | **Integer** | | [optional] |
|
|
18
|
+
| **over18** | **Boolean** | Whether the post is marked NSFW | [optional] |
|
|
19
|
+
| **stickied** | **Boolean** | | [optional] |
|
|
20
|
+
| **flair_text** | **String** | Link flair text if set | [optional] |
|
|
21
|
+
| **is_gallery** | **Boolean** | Whether the post is a gallery with multiple images | [optional] |
|
|
22
|
+
| **gallery_images** | **Array<String>** | Individual image URLs for gallery posts (only present when isGallery is true) | [optional] |
|
|
23
|
+
|
|
24
|
+
## Example
|
|
25
|
+
|
|
26
|
+
```ruby
|
|
27
|
+
require 'late-sdk'
|
|
28
|
+
|
|
29
|
+
instance = Late::RedditPost.new(
|
|
30
|
+
id: null,
|
|
31
|
+
fullname: null,
|
|
32
|
+
title: null,
|
|
33
|
+
author: null,
|
|
34
|
+
subreddit: null,
|
|
35
|
+
url: null,
|
|
36
|
+
permalink: null,
|
|
37
|
+
selftext: null,
|
|
38
|
+
created_utc: null,
|
|
39
|
+
score: null,
|
|
40
|
+
num_comments: null,
|
|
41
|
+
over18: null,
|
|
42
|
+
stickied: null,
|
|
43
|
+
flair_text: null,
|
|
44
|
+
is_gallery: null,
|
|
45
|
+
gallery_images: null
|
|
46
|
+
)
|
|
47
|
+
```
|
|
48
|
+
|
data/docs/RedditSearchApi.md
CHANGED
|
@@ -10,7 +10,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
10
10
|
|
|
11
11
|
## get_reddit_feed
|
|
12
12
|
|
|
13
|
-
> <
|
|
13
|
+
> <SearchReddit200Response> get_reddit_feed(account_id, opts)
|
|
14
14
|
|
|
15
15
|
Get subreddit feed
|
|
16
16
|
|
|
@@ -50,7 +50,7 @@ end
|
|
|
50
50
|
|
|
51
51
|
This returns an Array which contains the response data, status code and headers.
|
|
52
52
|
|
|
53
|
-
> <Array(<
|
|
53
|
+
> <Array(<SearchReddit200Response>, Integer, Hash)> get_reddit_feed_with_http_info(account_id, opts)
|
|
54
54
|
|
|
55
55
|
```ruby
|
|
56
56
|
begin
|
|
@@ -58,7 +58,7 @@ begin
|
|
|
58
58
|
data, status_code, headers = api_instance.get_reddit_feed_with_http_info(account_id, opts)
|
|
59
59
|
p status_code # => 2xx
|
|
60
60
|
p headers # => { ... }
|
|
61
|
-
p data # => <
|
|
61
|
+
p data # => <SearchReddit200Response>
|
|
62
62
|
rescue Late::ApiError => e
|
|
63
63
|
puts "Error when calling RedditSearchApi->get_reddit_feed_with_http_info: #{e}"
|
|
64
64
|
end
|
|
@@ -77,7 +77,7 @@ end
|
|
|
77
77
|
|
|
78
78
|
### Return type
|
|
79
79
|
|
|
80
|
-
[**
|
|
80
|
+
[**SearchReddit200Response**](SearchReddit200Response.md)
|
|
81
81
|
|
|
82
82
|
### Authorization
|
|
83
83
|
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **
|
|
7
|
+
| **items** | [**Array<RedditPost>**](RedditPost.md) | | [optional] |
|
|
8
8
|
| **after** | **String** | | [optional] |
|
|
9
|
+
| **before** | **String** | | [optional] |
|
|
9
10
|
|
|
10
11
|
## Example
|
|
11
12
|
|
|
@@ -13,8 +14,9 @@
|
|
|
13
14
|
require 'late-sdk'
|
|
14
15
|
|
|
15
16
|
instance = Late::SearchReddit200Response.new(
|
|
16
|
-
|
|
17
|
-
after: null
|
|
17
|
+
items: null,
|
|
18
|
+
after: null,
|
|
19
|
+
before: null
|
|
18
20
|
)
|
|
19
21
|
```
|
|
20
22
|
|
data/docs/ValidateApi.md
CHANGED
|
@@ -219,11 +219,11 @@ end
|
|
|
219
219
|
|
|
220
220
|
## validate_subreddit
|
|
221
221
|
|
|
222
|
-
> <ValidateSubreddit200Response> validate_subreddit(name)
|
|
222
|
+
> <ValidateSubreddit200Response> validate_subreddit(name, opts)
|
|
223
223
|
|
|
224
224
|
Check subreddit existence
|
|
225
225
|
|
|
226
|
-
Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed).
|
|
226
|
+
Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed). When accountId is provided, uses authenticated Reddit OAuth API with automatic token refresh (recommended). Falls back to Reddit's public JSON API, which may be unreliable from server IPs. Returns `exists: false` for private, banned, or nonexistent subreddits.
|
|
227
227
|
|
|
228
228
|
### Examples
|
|
229
229
|
|
|
@@ -238,10 +238,13 @@ end
|
|
|
238
238
|
|
|
239
239
|
api_instance = Late::ValidateApi.new
|
|
240
240
|
name = 'programming' # String | Subreddit name (with or without \"r/\" prefix)
|
|
241
|
+
opts = {
|
|
242
|
+
account_id: 'account_id_example' # String | Reddit social account ID for authenticated lookup (recommended for reliable results)
|
|
243
|
+
}
|
|
241
244
|
|
|
242
245
|
begin
|
|
243
246
|
# Check subreddit existence
|
|
244
|
-
result = api_instance.validate_subreddit(name)
|
|
247
|
+
result = api_instance.validate_subreddit(name, opts)
|
|
245
248
|
p result
|
|
246
249
|
rescue Late::ApiError => e
|
|
247
250
|
puts "Error when calling ValidateApi->validate_subreddit: #{e}"
|
|
@@ -252,12 +255,12 @@ end
|
|
|
252
255
|
|
|
253
256
|
This returns an Array which contains the response data, status code and headers.
|
|
254
257
|
|
|
255
|
-
> <Array(<ValidateSubreddit200Response>, Integer, Hash)> validate_subreddit_with_http_info(name)
|
|
258
|
+
> <Array(<ValidateSubreddit200Response>, Integer, Hash)> validate_subreddit_with_http_info(name, opts)
|
|
256
259
|
|
|
257
260
|
```ruby
|
|
258
261
|
begin
|
|
259
262
|
# Check subreddit existence
|
|
260
|
-
data, status_code, headers = api_instance.validate_subreddit_with_http_info(name)
|
|
263
|
+
data, status_code, headers = api_instance.validate_subreddit_with_http_info(name, opts)
|
|
261
264
|
p status_code # => 2xx
|
|
262
265
|
p headers # => { ... }
|
|
263
266
|
p data # => <ValidateSubreddit200Response>
|
|
@@ -271,6 +274,7 @@ end
|
|
|
271
274
|
| Name | Type | Description | Notes |
|
|
272
275
|
| ---- | ---- | ----------- | ----- |
|
|
273
276
|
| **name** | **String** | Subreddit name (with or without \"r/\" prefix) | |
|
|
277
|
+
| **account_id** | **String** | Reddit social account ID for authenticated lookup (recommended for reliable results) | [optional] |
|
|
274
278
|
|
|
275
279
|
### Return type
|
|
276
280
|
|
|
@@ -28,7 +28,7 @@ module Late
|
|
|
28
28
|
# @option opts [Integer] :limit (default to 25)
|
|
29
29
|
# @option opts [String] :after
|
|
30
30
|
# @option opts [String] :t
|
|
31
|
-
# @return [
|
|
31
|
+
# @return [SearchReddit200Response]
|
|
32
32
|
def get_reddit_feed(account_id, opts = {})
|
|
33
33
|
data, _status_code, _headers = get_reddit_feed_with_http_info(account_id, opts)
|
|
34
34
|
data
|
|
@@ -43,7 +43,7 @@ module Late
|
|
|
43
43
|
# @option opts [Integer] :limit (default to 25)
|
|
44
44
|
# @option opts [String] :after
|
|
45
45
|
# @option opts [String] :t
|
|
46
|
-
# @return [Array<(
|
|
46
|
+
# @return [Array<(SearchReddit200Response, Integer, Hash)>] SearchReddit200Response data, response status code and response headers
|
|
47
47
|
def get_reddit_feed_with_http_info(account_id, opts = {})
|
|
48
48
|
if @api_client.config.debugging
|
|
49
49
|
@api_client.config.logger.debug 'Calling API: RedditSearchApi.get_reddit_feed ...'
|
|
@@ -88,7 +88,7 @@ module Late
|
|
|
88
88
|
post_body = opts[:debug_body]
|
|
89
89
|
|
|
90
90
|
# return_type
|
|
91
|
-
return_type = opts[:debug_return_type] || '
|
|
91
|
+
return_type = opts[:debug_return_type] || 'SearchReddit200Response'
|
|
92
92
|
|
|
93
93
|
# auth_names
|
|
94
94
|
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
@@ -224,9 +224,10 @@ module Late
|
|
|
224
224
|
end
|
|
225
225
|
|
|
226
226
|
# Check subreddit existence
|
|
227
|
-
# Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed).
|
|
227
|
+
# Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed). When accountId is provided, uses authenticated Reddit OAuth API with automatic token refresh (recommended). Falls back to Reddit's public JSON API, which may be unreliable from server IPs. Returns `exists: false` for private, banned, or nonexistent subreddits.
|
|
228
228
|
# @param name [String] Subreddit name (with or without \"r/\" prefix)
|
|
229
229
|
# @param [Hash] opts the optional parameters
|
|
230
|
+
# @option opts [String] :account_id Reddit social account ID for authenticated lookup (recommended for reliable results)
|
|
230
231
|
# @return [ValidateSubreddit200Response]
|
|
231
232
|
def validate_subreddit(name, opts = {})
|
|
232
233
|
data, _status_code, _headers = validate_subreddit_with_http_info(name, opts)
|
|
@@ -234,9 +235,10 @@ module Late
|
|
|
234
235
|
end
|
|
235
236
|
|
|
236
237
|
# Check subreddit existence
|
|
237
|
-
# Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed).
|
|
238
|
+
# Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed). When accountId is provided, uses authenticated Reddit OAuth API with automatic token refresh (recommended). Falls back to Reddit's public JSON API, which may be unreliable from server IPs. Returns `exists: false` for private, banned, or nonexistent subreddits.
|
|
238
239
|
# @param name [String] Subreddit name (with or without \"r/\" prefix)
|
|
239
240
|
# @param [Hash] opts the optional parameters
|
|
241
|
+
# @option opts [String] :account_id Reddit social account ID for authenticated lookup (recommended for reliable results)
|
|
240
242
|
# @return [Array<(ValidateSubreddit200Response, Integer, Hash)>] ValidateSubreddit200Response data, response status code and response headers
|
|
241
243
|
def validate_subreddit_with_http_info(name, opts = {})
|
|
242
244
|
if @api_client.config.debugging
|
|
@@ -252,6 +254,7 @@ module Late
|
|
|
252
254
|
# query parameters
|
|
253
255
|
query_params = opts[:query_params] || {}
|
|
254
256
|
query_params[:'name'] = name
|
|
257
|
+
query_params[:'accountId'] = opts[:'account_id'] if !opts[:'account_id'].nil?
|
|
255
258
|
|
|
256
259
|
# header parameters
|
|
257
260
|
header_params = opts[:header_params] || {}
|
|
@@ -14,37 +14,69 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Late
|
|
17
|
-
|
|
17
|
+
# A normalized Reddit post returned by the feed and search endpoints
|
|
18
|
+
class RedditPost < ApiModelBase
|
|
19
|
+
# Reddit post ID (without type prefix)
|
|
18
20
|
attr_accessor :id
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
# Reddit fullname (e.g. t3_abc123)
|
|
23
|
+
attr_accessor :fullname
|
|
21
24
|
|
|
22
|
-
attr_accessor :
|
|
25
|
+
attr_accessor :title
|
|
23
26
|
|
|
24
27
|
attr_accessor :author
|
|
25
28
|
|
|
26
29
|
attr_accessor :subreddit
|
|
27
30
|
|
|
31
|
+
# Post URL (may be a gallery URL
|
|
32
|
+
attr_accessor :url
|
|
33
|
+
|
|
34
|
+
# Full permalink to the Reddit post
|
|
35
|
+
attr_accessor :permalink
|
|
36
|
+
|
|
37
|
+
# Self-post body text (empty string for link posts)
|
|
38
|
+
attr_accessor :selftext
|
|
39
|
+
|
|
40
|
+
# Unix timestamp of post creation
|
|
41
|
+
attr_accessor :created_utc
|
|
42
|
+
|
|
28
43
|
attr_accessor :score
|
|
29
44
|
|
|
30
45
|
attr_accessor :num_comments
|
|
31
46
|
|
|
32
|
-
|
|
47
|
+
# Whether the post is marked NSFW
|
|
48
|
+
attr_accessor :over18
|
|
33
49
|
|
|
34
|
-
attr_accessor :
|
|
50
|
+
attr_accessor :stickied
|
|
51
|
+
|
|
52
|
+
# Link flair text if set
|
|
53
|
+
attr_accessor :flair_text
|
|
54
|
+
|
|
55
|
+
# Whether the post is a gallery with multiple images
|
|
56
|
+
attr_accessor :is_gallery
|
|
57
|
+
|
|
58
|
+
# Individual image URLs for gallery posts (only present when isGallery is true)
|
|
59
|
+
attr_accessor :gallery_images
|
|
35
60
|
|
|
36
61
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
37
62
|
def self.attribute_map
|
|
38
63
|
{
|
|
39
64
|
:'id' => :'id',
|
|
65
|
+
:'fullname' => :'fullname',
|
|
40
66
|
:'title' => :'title',
|
|
41
|
-
:'selftext' => :'selftext',
|
|
42
67
|
:'author' => :'author',
|
|
43
68
|
:'subreddit' => :'subreddit',
|
|
69
|
+
:'url' => :'url',
|
|
70
|
+
:'permalink' => :'permalink',
|
|
71
|
+
:'selftext' => :'selftext',
|
|
72
|
+
:'created_utc' => :'createdUtc',
|
|
44
73
|
:'score' => :'score',
|
|
45
|
-
:'num_comments' => :'
|
|
46
|
-
:'
|
|
47
|
-
:'
|
|
74
|
+
:'num_comments' => :'numComments',
|
|
75
|
+
:'over18' => :'over18',
|
|
76
|
+
:'stickied' => :'stickied',
|
|
77
|
+
:'flair_text' => :'flairText',
|
|
78
|
+
:'is_gallery' => :'isGallery',
|
|
79
|
+
:'gallery_images' => :'galleryImages'
|
|
48
80
|
}
|
|
49
81
|
end
|
|
50
82
|
|
|
@@ -62,14 +94,21 @@ module Late
|
|
|
62
94
|
def self.openapi_types
|
|
63
95
|
{
|
|
64
96
|
:'id' => :'String',
|
|
97
|
+
:'fullname' => :'String',
|
|
65
98
|
:'title' => :'String',
|
|
66
|
-
:'selftext' => :'String',
|
|
67
99
|
:'author' => :'String',
|
|
68
100
|
:'subreddit' => :'String',
|
|
101
|
+
:'url' => :'String',
|
|
102
|
+
:'permalink' => :'String',
|
|
103
|
+
:'selftext' => :'String',
|
|
104
|
+
:'created_utc' => :'Float',
|
|
69
105
|
:'score' => :'Integer',
|
|
70
106
|
:'num_comments' => :'Integer',
|
|
71
|
-
:'
|
|
72
|
-
:'
|
|
107
|
+
:'over18' => :'Boolean',
|
|
108
|
+
:'stickied' => :'Boolean',
|
|
109
|
+
:'flair_text' => :'String',
|
|
110
|
+
:'is_gallery' => :'Boolean',
|
|
111
|
+
:'gallery_images' => :'Array<String>'
|
|
73
112
|
}
|
|
74
113
|
end
|
|
75
114
|
|
|
@@ -83,14 +122,14 @@ module Late
|
|
|
83
122
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
84
123
|
def initialize(attributes = {})
|
|
85
124
|
if (!attributes.is_a?(Hash))
|
|
86
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Late::
|
|
125
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Late::RedditPost` initialize method"
|
|
87
126
|
end
|
|
88
127
|
|
|
89
128
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
90
129
|
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
91
130
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
92
131
|
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
93
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Late::
|
|
132
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Late::RedditPost`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
94
133
|
end
|
|
95
134
|
h[k.to_sym] = v
|
|
96
135
|
}
|
|
@@ -99,12 +138,12 @@ module Late
|
|
|
99
138
|
self.id = attributes[:'id']
|
|
100
139
|
end
|
|
101
140
|
|
|
102
|
-
if attributes.key?(:'
|
|
103
|
-
self.
|
|
141
|
+
if attributes.key?(:'fullname')
|
|
142
|
+
self.fullname = attributes[:'fullname']
|
|
104
143
|
end
|
|
105
144
|
|
|
106
|
-
if attributes.key?(:'
|
|
107
|
-
self.
|
|
145
|
+
if attributes.key?(:'title')
|
|
146
|
+
self.title = attributes[:'title']
|
|
108
147
|
end
|
|
109
148
|
|
|
110
149
|
if attributes.key?(:'author')
|
|
@@ -115,6 +154,22 @@ module Late
|
|
|
115
154
|
self.subreddit = attributes[:'subreddit']
|
|
116
155
|
end
|
|
117
156
|
|
|
157
|
+
if attributes.key?(:'url')
|
|
158
|
+
self.url = attributes[:'url']
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
if attributes.key?(:'permalink')
|
|
162
|
+
self.permalink = attributes[:'permalink']
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
if attributes.key?(:'selftext')
|
|
166
|
+
self.selftext = attributes[:'selftext']
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
if attributes.key?(:'created_utc')
|
|
170
|
+
self.created_utc = attributes[:'created_utc']
|
|
171
|
+
end
|
|
172
|
+
|
|
118
173
|
if attributes.key?(:'score')
|
|
119
174
|
self.score = attributes[:'score']
|
|
120
175
|
end
|
|
@@ -123,12 +178,26 @@ module Late
|
|
|
123
178
|
self.num_comments = attributes[:'num_comments']
|
|
124
179
|
end
|
|
125
180
|
|
|
126
|
-
if attributes.key?(:'
|
|
127
|
-
self.
|
|
181
|
+
if attributes.key?(:'over18')
|
|
182
|
+
self.over18 = attributes[:'over18']
|
|
128
183
|
end
|
|
129
184
|
|
|
130
|
-
if attributes.key?(:'
|
|
131
|
-
self.
|
|
185
|
+
if attributes.key?(:'stickied')
|
|
186
|
+
self.stickied = attributes[:'stickied']
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
if attributes.key?(:'flair_text')
|
|
190
|
+
self.flair_text = attributes[:'flair_text']
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
if attributes.key?(:'is_gallery')
|
|
194
|
+
self.is_gallery = attributes[:'is_gallery']
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
if attributes.key?(:'gallery_images')
|
|
198
|
+
if (value = attributes[:'gallery_images']).is_a?(Array)
|
|
199
|
+
self.gallery_images = value
|
|
200
|
+
end
|
|
132
201
|
end
|
|
133
202
|
end
|
|
134
203
|
|
|
@@ -153,14 +222,21 @@ module Late
|
|
|
153
222
|
return true if self.equal?(o)
|
|
154
223
|
self.class == o.class &&
|
|
155
224
|
id == o.id &&
|
|
225
|
+
fullname == o.fullname &&
|
|
156
226
|
title == o.title &&
|
|
157
|
-
selftext == o.selftext &&
|
|
158
227
|
author == o.author &&
|
|
159
228
|
subreddit == o.subreddit &&
|
|
229
|
+
url == o.url &&
|
|
230
|
+
permalink == o.permalink &&
|
|
231
|
+
selftext == o.selftext &&
|
|
232
|
+
created_utc == o.created_utc &&
|
|
160
233
|
score == o.score &&
|
|
161
234
|
num_comments == o.num_comments &&
|
|
162
|
-
|
|
163
|
-
|
|
235
|
+
over18 == o.over18 &&
|
|
236
|
+
stickied == o.stickied &&
|
|
237
|
+
flair_text == o.flair_text &&
|
|
238
|
+
is_gallery == o.is_gallery &&
|
|
239
|
+
gallery_images == o.gallery_images
|
|
164
240
|
end
|
|
165
241
|
|
|
166
242
|
# @see the `==` method
|
|
@@ -172,7 +248,7 @@ module Late
|
|
|
172
248
|
# Calculates hash code according to all attributes.
|
|
173
249
|
# @return [Integer] Hash code
|
|
174
250
|
def hash
|
|
175
|
-
[id,
|
|
251
|
+
[id, fullname, title, author, subreddit, url, permalink, selftext, created_utc, score, num_comments, over18, stickied, flair_text, is_gallery, gallery_images].hash
|
|
176
252
|
end
|
|
177
253
|
|
|
178
254
|
# Builds the object from hash
|
|
@@ -15,15 +15,18 @@ require 'time'
|
|
|
15
15
|
|
|
16
16
|
module Late
|
|
17
17
|
class SearchReddit200Response < ApiModelBase
|
|
18
|
-
attr_accessor :
|
|
18
|
+
attr_accessor :items
|
|
19
19
|
|
|
20
20
|
attr_accessor :after
|
|
21
21
|
|
|
22
|
+
attr_accessor :before
|
|
23
|
+
|
|
22
24
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
23
25
|
def self.attribute_map
|
|
24
26
|
{
|
|
25
|
-
:'
|
|
26
|
-
:'after' => :'after'
|
|
27
|
+
:'items' => :'items',
|
|
28
|
+
:'after' => :'after',
|
|
29
|
+
:'before' => :'before'
|
|
27
30
|
}
|
|
28
31
|
end
|
|
29
32
|
|
|
@@ -40,8 +43,9 @@ module Late
|
|
|
40
43
|
# Attribute type mapping.
|
|
41
44
|
def self.openapi_types
|
|
42
45
|
{
|
|
43
|
-
:'
|
|
44
|
-
:'after' => :'String'
|
|
46
|
+
:'items' => :'Array<RedditPost>',
|
|
47
|
+
:'after' => :'String',
|
|
48
|
+
:'before' => :'String'
|
|
45
49
|
}
|
|
46
50
|
end
|
|
47
51
|
|
|
@@ -67,15 +71,19 @@ module Late
|
|
|
67
71
|
h[k.to_sym] = v
|
|
68
72
|
}
|
|
69
73
|
|
|
70
|
-
if attributes.key?(:'
|
|
71
|
-
if (value = attributes[:'
|
|
72
|
-
self.
|
|
74
|
+
if attributes.key?(:'items')
|
|
75
|
+
if (value = attributes[:'items']).is_a?(Array)
|
|
76
|
+
self.items = value
|
|
73
77
|
end
|
|
74
78
|
end
|
|
75
79
|
|
|
76
80
|
if attributes.key?(:'after')
|
|
77
81
|
self.after = attributes[:'after']
|
|
78
82
|
end
|
|
83
|
+
|
|
84
|
+
if attributes.key?(:'before')
|
|
85
|
+
self.before = attributes[:'before']
|
|
86
|
+
end
|
|
79
87
|
end
|
|
80
88
|
|
|
81
89
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -98,8 +106,9 @@ module Late
|
|
|
98
106
|
def ==(o)
|
|
99
107
|
return true if self.equal?(o)
|
|
100
108
|
self.class == o.class &&
|
|
101
|
-
|
|
102
|
-
after == o.after
|
|
109
|
+
items == o.items &&
|
|
110
|
+
after == o.after &&
|
|
111
|
+
before == o.before
|
|
103
112
|
end
|
|
104
113
|
|
|
105
114
|
# @see the `==` method
|
|
@@ -111,7 +120,7 @@ module Late
|
|
|
111
120
|
# Calculates hash code according to all attributes.
|
|
112
121
|
# @return [Integer] Hash code
|
|
113
122
|
def hash
|
|
114
|
-
[
|
|
123
|
+
[items, after, before].hash
|
|
115
124
|
end
|
|
116
125
|
|
|
117
126
|
# Builds the object from hash
|
data/lib/late-sdk/version.rb
CHANGED
data/lib/late-sdk.rb
CHANGED
|
@@ -308,7 +308,6 @@ require 'late-sdk/models/get_post_timeline404_response'
|
|
|
308
308
|
require 'late-sdk/models/get_posting_frequency200_response'
|
|
309
309
|
require 'late-sdk/models/get_posting_frequency200_response_frequency_inner'
|
|
310
310
|
require 'late-sdk/models/get_profile200_response'
|
|
311
|
-
require 'late-sdk/models/get_reddit_feed200_response'
|
|
312
311
|
require 'late-sdk/models/get_reddit_flairs200_response'
|
|
313
312
|
require 'late-sdk/models/get_reddit_flairs200_response_flairs_inner'
|
|
314
313
|
require 'late-sdk/models/get_reddit_subreddits200_response'
|
|
@@ -525,6 +524,7 @@ require 'late-sdk/models/queue_update_response'
|
|
|
525
524
|
require 'late-sdk/models/recycling_config'
|
|
526
525
|
require 'late-sdk/models/recycling_state'
|
|
527
526
|
require 'late-sdk/models/reddit_platform_data'
|
|
527
|
+
require 'late-sdk/models/reddit_post'
|
|
528
528
|
require 'late-sdk/models/reject_whats_app_group_join_requests_request'
|
|
529
529
|
require 'late-sdk/models/release_whats_app_phone_number200_response'
|
|
530
530
|
require 'late-sdk/models/release_whats_app_phone_number200_response_phone_number'
|
|
@@ -551,7 +551,6 @@ require 'late-sdk/models/schedule_whats_app_broadcast_request'
|
|
|
551
551
|
require 'late-sdk/models/search_ad_interests200_response'
|
|
552
552
|
require 'late-sdk/models/search_ad_interests200_response_interests_inner'
|
|
553
553
|
require 'late-sdk/models/search_reddit200_response'
|
|
554
|
-
require 'late-sdk/models/search_reddit200_response_posts_inner'
|
|
555
554
|
require 'late-sdk/models/select_facebook_page200_response'
|
|
556
555
|
require 'late-sdk/models/select_facebook_page200_response_account'
|
|
557
556
|
require 'late-sdk/models/select_facebook_page_request'
|
data/openapi.yaml
CHANGED
|
@@ -317,6 +317,29 @@ components:
|
|
|
317
317
|
type: string
|
|
318
318
|
example: Not found
|
|
319
319
|
schemas:
|
|
320
|
+
RedditPost:
|
|
321
|
+
type: object
|
|
322
|
+
description: A normalized Reddit post returned by the feed and search endpoints
|
|
323
|
+
properties:
|
|
324
|
+
id: { type: string, description: Reddit post ID (without type prefix) }
|
|
325
|
+
fullname: { type: string, description: "Reddit fullname (e.g. t3_abc123)" }
|
|
326
|
+
title: { type: string }
|
|
327
|
+
author: { type: string }
|
|
328
|
+
subreddit: { type: string }
|
|
329
|
+
url: { type: string, description: Post URL (may be a gallery URL, external link, or self-post URL) }
|
|
330
|
+
permalink: { type: string, description: Full permalink to the Reddit post }
|
|
331
|
+
selftext: { type: string, description: Self-post body text (empty string for link posts) }
|
|
332
|
+
createdUtc: { type: number, description: Unix timestamp of post creation }
|
|
333
|
+
score: { type: integer }
|
|
334
|
+
numComments: { type: integer }
|
|
335
|
+
over18: { type: boolean, description: Whether the post is marked NSFW }
|
|
336
|
+
stickied: { type: boolean }
|
|
337
|
+
flairText: { type: string, nullable: true, description: Link flair text if set }
|
|
338
|
+
isGallery: { type: boolean, description: Whether the post is a gallery with multiple images }
|
|
339
|
+
galleryImages:
|
|
340
|
+
type: array
|
|
341
|
+
description: Individual image URLs for gallery posts (only present when isGallery is true)
|
|
342
|
+
items: { type: string, format: uri }
|
|
320
343
|
ErrorResponse:
|
|
321
344
|
type: object
|
|
322
345
|
properties:
|
|
@@ -3109,7 +3132,7 @@ paths:
|
|
|
3109
3132
|
description: |
|
|
3110
3133
|
Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed).
|
|
3111
3134
|
|
|
3112
|
-
|
|
3135
|
+
When accountId is provided, uses authenticated Reddit OAuth API with automatic token refresh (recommended). Falls back to Reddit's public JSON API, which may be unreliable from server IPs. Returns `exists: false` for private, banned, or nonexistent subreddits.
|
|
3113
3136
|
security:
|
|
3114
3137
|
- bearerAuth: []
|
|
3115
3138
|
parameters:
|
|
@@ -3120,6 +3143,11 @@ paths:
|
|
|
3120
3143
|
schema:
|
|
3121
3144
|
type: string
|
|
3122
3145
|
example: "programming"
|
|
3146
|
+
- name: accountId
|
|
3147
|
+
in: query
|
|
3148
|
+
description: Reddit social account ID for authenticated lookup (recommended for reliable results)
|
|
3149
|
+
schema:
|
|
3150
|
+
type: string
|
|
3123
3151
|
responses:
|
|
3124
3152
|
"200":
|
|
3125
3153
|
description: Subreddit lookup result
|
|
@@ -4850,33 +4878,31 @@ paths:
|
|
|
4850
4878
|
schema:
|
|
4851
4879
|
type: object
|
|
4852
4880
|
properties:
|
|
4853
|
-
|
|
4881
|
+
items:
|
|
4854
4882
|
type: array
|
|
4855
4883
|
items:
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
|
|
4859
|
-
title: { type: string }
|
|
4860
|
-
selftext: { type: string }
|
|
4861
|
-
author: { type: string }
|
|
4862
|
-
subreddit: { type: string }
|
|
4863
|
-
score: { type: integer }
|
|
4864
|
-
num_comments: { type: integer }
|
|
4865
|
-
created_utc: { type: number }
|
|
4866
|
-
permalink: { type: string }
|
|
4867
|
-
after: { type: string }
|
|
4884
|
+
$ref: '#/components/schemas/RedditPost'
|
|
4885
|
+
after: { type: string, nullable: true }
|
|
4886
|
+
before: { type: string, nullable: true }
|
|
4868
4887
|
example:
|
|
4869
|
-
|
|
4888
|
+
items:
|
|
4870
4889
|
- id: "1abc234"
|
|
4890
|
+
fullname: "t3_1abc234"
|
|
4871
4891
|
title: "How to grow on social media in 2025"
|
|
4872
4892
|
selftext: "Here are my tips..."
|
|
4873
4893
|
author: "marketingpro"
|
|
4874
4894
|
subreddit: "socialmedia"
|
|
4895
|
+
url: "https://www.reddit.com/r/socialmedia/comments/1abc234/"
|
|
4896
|
+
permalink: "https://www.reddit.com/r/socialmedia/comments/1abc234/how_to_grow/"
|
|
4875
4897
|
score: 156
|
|
4876
|
-
|
|
4877
|
-
|
|
4878
|
-
|
|
4898
|
+
numComments: 42
|
|
4899
|
+
createdUtc: 1730000000
|
|
4900
|
+
over18: false
|
|
4901
|
+
stickied: false
|
|
4902
|
+
flairText: null
|
|
4903
|
+
isGallery: false
|
|
4879
4904
|
after: "t3_1abc234"
|
|
4905
|
+
before: null
|
|
4880
4906
|
'400': { description: Missing params }
|
|
4881
4907
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
4882
4908
|
'404': { description: Account not found }
|
|
@@ -4914,30 +4940,47 @@ paths:
|
|
|
4914
4940
|
schema:
|
|
4915
4941
|
type: object
|
|
4916
4942
|
properties:
|
|
4917
|
-
|
|
4943
|
+
items:
|
|
4918
4944
|
type: array
|
|
4919
4945
|
items:
|
|
4920
|
-
|
|
4921
|
-
after: { type: string }
|
|
4946
|
+
$ref: '#/components/schemas/RedditPost'
|
|
4947
|
+
after: { type: string, nullable: true }
|
|
4948
|
+
before: { type: string, nullable: true }
|
|
4922
4949
|
example:
|
|
4923
|
-
|
|
4950
|
+
items:
|
|
4924
4951
|
- id: "1xyz789"
|
|
4952
|
+
fullname: "t3_1xyz789"
|
|
4925
4953
|
title: "Top marketing trends this week"
|
|
4926
4954
|
author: "trendwatcher"
|
|
4927
4955
|
subreddit: "marketing"
|
|
4956
|
+
url: "https://www.reddit.com/r/marketing/comments/1xyz789/"
|
|
4957
|
+
permalink: "https://www.reddit.com/r/marketing/comments/1xyz789/top_marketing_trends/"
|
|
4928
4958
|
score: 892
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4959
|
+
numComments: 134
|
|
4960
|
+
createdUtc: 1730100000
|
|
4961
|
+
over18: false
|
|
4962
|
+
stickied: false
|
|
4963
|
+
flairText: null
|
|
4964
|
+
isGallery: false
|
|
4932
4965
|
- id: "1def456"
|
|
4933
|
-
|
|
4966
|
+
fullname: "t3_1def456"
|
|
4967
|
+
title: "Check out my grow setup"
|
|
4934
4968
|
author: "growthexpert"
|
|
4935
|
-
subreddit: "
|
|
4969
|
+
subreddit: "gardening"
|
|
4970
|
+
url: "https://www.reddit.com/gallery/1def456"
|
|
4971
|
+
permalink: "https://www.reddit.com/r/gardening/comments/1def456/check_out_my_grow_setup/"
|
|
4936
4972
|
score: 567
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4973
|
+
numComments: 89
|
|
4974
|
+
createdUtc: 1730050000
|
|
4975
|
+
over18: false
|
|
4976
|
+
stickied: false
|
|
4977
|
+
flairText: null
|
|
4978
|
+
isGallery: true
|
|
4979
|
+
galleryImages:
|
|
4980
|
+
- "https://i.redd.it/abc123.jpg"
|
|
4981
|
+
- "https://i.redd.it/def456.jpg"
|
|
4940
4982
|
after: "t3_1def456"
|
|
4983
|
+
before: null
|
|
4941
4984
|
'400': { description: Missing params }
|
|
4942
4985
|
'401': { $ref: '#/components/responses/Unauthorized' }
|
|
4943
4986
|
'404': { description: Account not found }
|
|
@@ -42,7 +42,7 @@ describe 'RedditSearchApi' do
|
|
|
42
42
|
# @option opts [Integer] :limit
|
|
43
43
|
# @option opts [String] :after
|
|
44
44
|
# @option opts [String] :t
|
|
45
|
-
# @return [
|
|
45
|
+
# @return [SearchReddit200Response]
|
|
46
46
|
describe 'get_reddit_feed test' do
|
|
47
47
|
it 'should work' do
|
|
48
48
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -70,9 +70,10 @@ describe 'ValidateApi' do
|
|
|
70
70
|
|
|
71
71
|
# unit tests for validate_subreddit
|
|
72
72
|
# Check subreddit existence
|
|
73
|
-
# Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed).
|
|
73
|
+
# Check if a subreddit exists and return basic info (title, subscriber count, NSFW status, post types allowed). When accountId is provided, uses authenticated Reddit OAuth API with automatic token refresh (recommended). Falls back to Reddit's public JSON API, which may be unreliable from server IPs. Returns `exists: false` for private, banned, or nonexistent subreddits.
|
|
74
74
|
# @param name Subreddit name (with or without \"r/\" prefix)
|
|
75
75
|
# @param [Hash] opts the optional parameters
|
|
76
|
+
# @option opts [String] :account_id Reddit social account ID for authenticated lookup (recommended for reliable results)
|
|
76
77
|
# @return [ValidateSubreddit200Response]
|
|
77
78
|
describe 'validate_subreddit test' do
|
|
78
79
|
it 'should work' do
|
|
@@ -14,16 +14,16 @@ require 'spec_helper'
|
|
|
14
14
|
require 'json'
|
|
15
15
|
require 'date'
|
|
16
16
|
|
|
17
|
-
# Unit tests for Late::
|
|
17
|
+
# Unit tests for Late::RedditPost
|
|
18
18
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
19
|
# Please update as you see appropriate
|
|
20
|
-
describe Late::
|
|
21
|
-
#let(:instance) { Late::
|
|
20
|
+
describe Late::RedditPost do
|
|
21
|
+
#let(:instance) { Late::RedditPost.new }
|
|
22
22
|
|
|
23
|
-
describe 'test an instance of
|
|
24
|
-
it 'should create an instance of
|
|
23
|
+
describe 'test an instance of RedditPost' do
|
|
24
|
+
it 'should create an instance of RedditPost' do
|
|
25
25
|
# uncomment below to test the instance creation
|
|
26
|
-
#expect(instance).to be_instance_of(Late::
|
|
26
|
+
#expect(instance).to be_instance_of(Late::RedditPost)
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
|
|
@@ -33,13 +33,13 @@ describe Late::SearchReddit200ResponsePostsInner do
|
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
describe 'test attribute "
|
|
36
|
+
describe 'test attribute "fullname"' do
|
|
37
37
|
it 'should work' do
|
|
38
38
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
describe 'test attribute "
|
|
42
|
+
describe 'test attribute "title"' do
|
|
43
43
|
it 'should work' do
|
|
44
44
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
45
|
end
|
|
@@ -57,6 +57,30 @@ describe Late::SearchReddit200ResponsePostsInner do
|
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
+
describe 'test attribute "url"' do
|
|
61
|
+
it 'should work' do
|
|
62
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
describe 'test attribute "permalink"' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
describe 'test attribute "selftext"' do
|
|
73
|
+
it 'should work' do
|
|
74
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
describe 'test attribute "created_utc"' do
|
|
79
|
+
it 'should work' do
|
|
80
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
60
84
|
describe 'test attribute "score"' do
|
|
61
85
|
it 'should work' do
|
|
62
86
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -69,13 +93,31 @@ describe Late::SearchReddit200ResponsePostsInner do
|
|
|
69
93
|
end
|
|
70
94
|
end
|
|
71
95
|
|
|
72
|
-
describe 'test attribute "
|
|
96
|
+
describe 'test attribute "over18"' do
|
|
73
97
|
it 'should work' do
|
|
74
98
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
75
99
|
end
|
|
76
100
|
end
|
|
77
101
|
|
|
78
|
-
describe 'test attribute "
|
|
102
|
+
describe 'test attribute "stickied"' do
|
|
103
|
+
it 'should work' do
|
|
104
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
describe 'test attribute "flair_text"' do
|
|
109
|
+
it 'should work' do
|
|
110
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
describe 'test attribute "is_gallery"' do
|
|
115
|
+
it 'should work' do
|
|
116
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
describe 'test attribute "gallery_images"' do
|
|
79
121
|
it 'should work' do
|
|
80
122
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
81
123
|
end
|
|
@@ -27,7 +27,7 @@ describe Late::SearchReddit200Response do
|
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
describe 'test attribute "
|
|
30
|
+
describe 'test attribute "items"' do
|
|
31
31
|
it 'should work' do
|
|
32
32
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
33
|
end
|
|
@@ -39,4 +39,10 @@ describe Late::SearchReddit200Response do
|
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
describe 'test attribute "before"' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
42
48
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zernio-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.114
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: typhoeus
|
|
@@ -373,7 +373,6 @@ files:
|
|
|
373
373
|
- docs/GetPostingFrequency200Response.md
|
|
374
374
|
- docs/GetPostingFrequency200ResponseFrequencyInner.md
|
|
375
375
|
- docs/GetProfile200Response.md
|
|
376
|
-
- docs/GetRedditFeed200Response.md
|
|
377
376
|
- docs/GetRedditFlairs200Response.md
|
|
378
377
|
- docs/GetRedditFlairs200ResponseFlairsInner.md
|
|
379
378
|
- docs/GetRedditSubreddits200Response.md
|
|
@@ -598,6 +597,7 @@ files:
|
|
|
598
597
|
- docs/RecyclingConfig.md
|
|
599
598
|
- docs/RecyclingState.md
|
|
600
599
|
- docs/RedditPlatformData.md
|
|
600
|
+
- docs/RedditPost.md
|
|
601
601
|
- docs/RedditSearchApi.md
|
|
602
602
|
- docs/RejectWhatsAppGroupJoinRequestsRequest.md
|
|
603
603
|
- docs/ReleaseWhatsAppPhoneNumber200Response.md
|
|
@@ -626,7 +626,6 @@ files:
|
|
|
626
626
|
- docs/SearchAdInterests200Response.md
|
|
627
627
|
- docs/SearchAdInterests200ResponseInterestsInner.md
|
|
628
628
|
- docs/SearchReddit200Response.md
|
|
629
|
-
- docs/SearchReddit200ResponsePostsInner.md
|
|
630
629
|
- docs/SelectFacebookPage200Response.md
|
|
631
630
|
- docs/SelectFacebookPage200ResponseAccount.md
|
|
632
631
|
- docs/SelectFacebookPageRequest.md
|
|
@@ -1189,7 +1188,6 @@ files:
|
|
|
1189
1188
|
- lib/late-sdk/models/get_posting_frequency200_response.rb
|
|
1190
1189
|
- lib/late-sdk/models/get_posting_frequency200_response_frequency_inner.rb
|
|
1191
1190
|
- lib/late-sdk/models/get_profile200_response.rb
|
|
1192
|
-
- lib/late-sdk/models/get_reddit_feed200_response.rb
|
|
1193
1191
|
- lib/late-sdk/models/get_reddit_flairs200_response.rb
|
|
1194
1192
|
- lib/late-sdk/models/get_reddit_flairs200_response_flairs_inner.rb
|
|
1195
1193
|
- lib/late-sdk/models/get_reddit_subreddits200_response.rb
|
|
@@ -1406,6 +1404,7 @@ files:
|
|
|
1406
1404
|
- lib/late-sdk/models/recycling_config.rb
|
|
1407
1405
|
- lib/late-sdk/models/recycling_state.rb
|
|
1408
1406
|
- lib/late-sdk/models/reddit_platform_data.rb
|
|
1407
|
+
- lib/late-sdk/models/reddit_post.rb
|
|
1409
1408
|
- lib/late-sdk/models/reject_whats_app_group_join_requests_request.rb
|
|
1410
1409
|
- lib/late-sdk/models/release_whats_app_phone_number200_response.rb
|
|
1411
1410
|
- lib/late-sdk/models/release_whats_app_phone_number200_response_phone_number.rb
|
|
@@ -1432,7 +1431,6 @@ files:
|
|
|
1432
1431
|
- lib/late-sdk/models/search_ad_interests200_response.rb
|
|
1433
1432
|
- lib/late-sdk/models/search_ad_interests200_response_interests_inner.rb
|
|
1434
1433
|
- lib/late-sdk/models/search_reddit200_response.rb
|
|
1435
|
-
- lib/late-sdk/models/search_reddit200_response_posts_inner.rb
|
|
1436
1434
|
- lib/late-sdk/models/select_facebook_page200_response.rb
|
|
1437
1435
|
- lib/late-sdk/models/select_facebook_page200_response_account.rb
|
|
1438
1436
|
- lib/late-sdk/models/select_facebook_page_request.rb
|
|
@@ -1981,7 +1979,6 @@ files:
|
|
|
1981
1979
|
- spec/models/get_posting_frequency200_response_frequency_inner_spec.rb
|
|
1982
1980
|
- spec/models/get_posting_frequency200_response_spec.rb
|
|
1983
1981
|
- spec/models/get_profile200_response_spec.rb
|
|
1984
|
-
- spec/models/get_reddit_feed200_response_spec.rb
|
|
1985
1982
|
- spec/models/get_reddit_flairs200_response_flairs_inner_spec.rb
|
|
1986
1983
|
- spec/models/get_reddit_flairs200_response_spec.rb
|
|
1987
1984
|
- spec/models/get_reddit_subreddits200_response_spec.rb
|
|
@@ -2198,6 +2195,7 @@ files:
|
|
|
2198
2195
|
- spec/models/recycling_config_spec.rb
|
|
2199
2196
|
- spec/models/recycling_state_spec.rb
|
|
2200
2197
|
- spec/models/reddit_platform_data_spec.rb
|
|
2198
|
+
- spec/models/reddit_post_spec.rb
|
|
2201
2199
|
- spec/models/reject_whats_app_group_join_requests_request_spec.rb
|
|
2202
2200
|
- spec/models/release_whats_app_phone_number200_response_phone_number_spec.rb
|
|
2203
2201
|
- spec/models/release_whats_app_phone_number200_response_spec.rb
|
|
@@ -2223,7 +2221,6 @@ files:
|
|
|
2223
2221
|
- spec/models/schedule_whats_app_broadcast_request_spec.rb
|
|
2224
2222
|
- spec/models/search_ad_interests200_response_interests_inner_spec.rb
|
|
2225
2223
|
- spec/models/search_ad_interests200_response_spec.rb
|
|
2226
|
-
- spec/models/search_reddit200_response_posts_inner_spec.rb
|
|
2227
2224
|
- spec/models/search_reddit200_response_spec.rb
|
|
2228
2225
|
- spec/models/select_facebook_page200_response_account_spec.rb
|
|
2229
2226
|
- spec/models/select_facebook_page200_response_spec.rb
|
|
@@ -3058,7 +3055,6 @@ test_files:
|
|
|
3058
3055
|
- spec/models/get_google_business_location_details200_response_service_items_inner_spec.rb
|
|
3059
3056
|
- spec/models/handle_o_auth_callback_request_spec.rb
|
|
3060
3057
|
- spec/models/search_reddit200_response_spec.rb
|
|
3061
|
-
- spec/models/search_reddit200_response_posts_inner_spec.rb
|
|
3062
3058
|
- spec/models/send_whats_app_flow_message_request_flow_action_payload_spec.rb
|
|
3063
3059
|
- spec/models/create_sequence_request_steps_inner_template_variable_mapping_value_spec.rb
|
|
3064
3060
|
- spec/models/list_ad_accounts200_response_spec.rb
|
|
@@ -3083,7 +3079,6 @@ test_files:
|
|
|
3083
3079
|
- spec/models/get_linked_in_organizations200_response_organizations_inner_spec.rb
|
|
3084
3080
|
- spec/models/get_whats_app_broadcasts200_response_spec.rb
|
|
3085
3081
|
- spec/models/create_sequence_request_steps_inner_template_spec.rb
|
|
3086
|
-
- spec/models/get_reddit_feed200_response_spec.rb
|
|
3087
3082
|
- spec/models/list_broadcast_recipients200_response_recipients_inner_spec.rb
|
|
3088
3083
|
- spec/models/bookmark_post_request_spec.rb
|
|
3089
3084
|
- spec/models/list_comment_automation_logs200_response_spec.rb
|
|
@@ -3202,6 +3197,7 @@ test_files:
|
|
|
3202
3197
|
- spec/models/get_ad_analytics200_response_analytics_spec.rb
|
|
3203
3198
|
- spec/models/unpublish_post_request_spec.rb
|
|
3204
3199
|
- spec/models/select_google_business_location200_response_account_spec.rb
|
|
3200
|
+
- spec/models/reddit_post_spec.rb
|
|
3205
3201
|
- spec/models/ad_metrics_spec.rb
|
|
3206
3202
|
- spec/models/analytics_overview_data_staleness_spec.rb
|
|
3207
3203
|
- spec/models/ad_tree_ad_set_spec.rb
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Late::GetRedditFeed200Response
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **posts** | **Array<Object>** | | [optional] |
|
|
8
|
-
| **after** | **String** | | [optional] |
|
|
9
|
-
|
|
10
|
-
## Example
|
|
11
|
-
|
|
12
|
-
```ruby
|
|
13
|
-
require 'late-sdk'
|
|
14
|
-
|
|
15
|
-
instance = Late::GetRedditFeed200Response.new(
|
|
16
|
-
posts: null,
|
|
17
|
-
after: null
|
|
18
|
-
)
|
|
19
|
-
```
|
|
20
|
-
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Late::SearchReddit200ResponsePostsInner
|
|
2
|
-
|
|
3
|
-
## Properties
|
|
4
|
-
|
|
5
|
-
| Name | Type | Description | Notes |
|
|
6
|
-
| ---- | ---- | ----------- | ----- |
|
|
7
|
-
| **id** | **String** | | [optional] |
|
|
8
|
-
| **title** | **String** | | [optional] |
|
|
9
|
-
| **selftext** | **String** | | [optional] |
|
|
10
|
-
| **author** | **String** | | [optional] |
|
|
11
|
-
| **subreddit** | **String** | | [optional] |
|
|
12
|
-
| **score** | **Integer** | | [optional] |
|
|
13
|
-
| **num_comments** | **Integer** | | [optional] |
|
|
14
|
-
| **created_utc** | **Float** | | [optional] |
|
|
15
|
-
| **permalink** | **String** | | [optional] |
|
|
16
|
-
|
|
17
|
-
## Example
|
|
18
|
-
|
|
19
|
-
```ruby
|
|
20
|
-
require 'late-sdk'
|
|
21
|
-
|
|
22
|
-
instance = Late::SearchReddit200ResponsePostsInner.new(
|
|
23
|
-
id: null,
|
|
24
|
-
title: null,
|
|
25
|
-
selftext: null,
|
|
26
|
-
author: null,
|
|
27
|
-
subreddit: null,
|
|
28
|
-
score: null,
|
|
29
|
-
num_comments: null,
|
|
30
|
-
created_utc: null,
|
|
31
|
-
permalink: null
|
|
32
|
-
)
|
|
33
|
-
```
|
|
34
|
-
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
#Zernio API
|
|
3
|
-
|
|
4
|
-
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
-
|
|
6
|
-
The version of the OpenAPI document: 1.0.1
|
|
7
|
-
Contact: support@zernio.com
|
|
8
|
-
Generated by: https://openapi-generator.tech
|
|
9
|
-
Generator version: 7.19.0
|
|
10
|
-
|
|
11
|
-
=end
|
|
12
|
-
|
|
13
|
-
require 'date'
|
|
14
|
-
require 'time'
|
|
15
|
-
|
|
16
|
-
module Late
|
|
17
|
-
class GetRedditFeed200Response < ApiModelBase
|
|
18
|
-
attr_accessor :posts
|
|
19
|
-
|
|
20
|
-
attr_accessor :after
|
|
21
|
-
|
|
22
|
-
# Attribute mapping from ruby-style variable name to JSON key.
|
|
23
|
-
def self.attribute_map
|
|
24
|
-
{
|
|
25
|
-
:'posts' => :'posts',
|
|
26
|
-
:'after' => :'after'
|
|
27
|
-
}
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
# Returns attribute mapping this model knows about
|
|
31
|
-
def self.acceptable_attribute_map
|
|
32
|
-
attribute_map
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
# Returns all the JSON keys this model knows about
|
|
36
|
-
def self.acceptable_attributes
|
|
37
|
-
acceptable_attribute_map.values
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
# Attribute type mapping.
|
|
41
|
-
def self.openapi_types
|
|
42
|
-
{
|
|
43
|
-
:'posts' => :'Array<Object>',
|
|
44
|
-
:'after' => :'String'
|
|
45
|
-
}
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
# List of attributes with nullable: true
|
|
49
|
-
def self.openapi_nullable
|
|
50
|
-
Set.new([
|
|
51
|
-
])
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# Initializes the object
|
|
55
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
56
|
-
def initialize(attributes = {})
|
|
57
|
-
if (!attributes.is_a?(Hash))
|
|
58
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Late::GetRedditFeed200Response` initialize method"
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
# check to see if the attribute exists and convert string to symbol for hash key
|
|
62
|
-
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
63
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
64
|
-
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
65
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Late::GetRedditFeed200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
66
|
-
end
|
|
67
|
-
h[k.to_sym] = v
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if attributes.key?(:'posts')
|
|
71
|
-
if (value = attributes[:'posts']).is_a?(Array)
|
|
72
|
-
self.posts = value
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
if attributes.key?(:'after')
|
|
77
|
-
self.after = attributes[:'after']
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
# Show invalid properties with the reasons. Usually used together with valid?
|
|
82
|
-
# @return Array for valid properties with the reasons
|
|
83
|
-
def list_invalid_properties
|
|
84
|
-
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
85
|
-
invalid_properties = Array.new
|
|
86
|
-
invalid_properties
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
# Check to see if the all the properties in the model are valid
|
|
90
|
-
# @return true if the model is valid
|
|
91
|
-
def valid?
|
|
92
|
-
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
93
|
-
true
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
# Checks equality by comparing each attribute.
|
|
97
|
-
# @param [Object] Object to be compared
|
|
98
|
-
def ==(o)
|
|
99
|
-
return true if self.equal?(o)
|
|
100
|
-
self.class == o.class &&
|
|
101
|
-
posts == o.posts &&
|
|
102
|
-
after == o.after
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
# @see the `==` method
|
|
106
|
-
# @param [Object] Object to be compared
|
|
107
|
-
def eql?(o)
|
|
108
|
-
self == o
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
# Calculates hash code according to all attributes.
|
|
112
|
-
# @return [Integer] Hash code
|
|
113
|
-
def hash
|
|
114
|
-
[posts, after].hash
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
# Builds the object from hash
|
|
118
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
119
|
-
# @return [Object] Returns the model itself
|
|
120
|
-
def self.build_from_hash(attributes)
|
|
121
|
-
return nil unless attributes.is_a?(Hash)
|
|
122
|
-
attributes = attributes.transform_keys(&:to_sym)
|
|
123
|
-
transformed_hash = {}
|
|
124
|
-
openapi_types.each_pair do |key, type|
|
|
125
|
-
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
126
|
-
transformed_hash["#{key}"] = nil
|
|
127
|
-
elsif type =~ /\AArray<(.*)>/i
|
|
128
|
-
# check to ensure the input is an array given that the attribute
|
|
129
|
-
# is documented as an array but the input is not
|
|
130
|
-
if attributes[attribute_map[key]].is_a?(Array)
|
|
131
|
-
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
132
|
-
end
|
|
133
|
-
elsif !attributes[attribute_map[key]].nil?
|
|
134
|
-
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
new(transformed_hash)
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
# Returns the object in the form of hash
|
|
141
|
-
# @return [Hash] Returns the object in the form of hash
|
|
142
|
-
def to_hash
|
|
143
|
-
hash = {}
|
|
144
|
-
self.class.attribute_map.each_pair do |attr, param|
|
|
145
|
-
value = self.send(attr)
|
|
146
|
-
if value.nil?
|
|
147
|
-
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
148
|
-
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
hash[param] = _to_hash(value)
|
|
152
|
-
end
|
|
153
|
-
hash
|
|
154
|
-
end
|
|
155
|
-
|
|
156
|
-
end
|
|
157
|
-
|
|
158
|
-
end
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
=begin
|
|
2
|
-
#Zernio API
|
|
3
|
-
|
|
4
|
-
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
|
|
5
|
-
|
|
6
|
-
The version of the OpenAPI document: 1.0.1
|
|
7
|
-
Contact: support@zernio.com
|
|
8
|
-
Generated by: https://openapi-generator.tech
|
|
9
|
-
Generator version: 7.19.0
|
|
10
|
-
|
|
11
|
-
=end
|
|
12
|
-
|
|
13
|
-
require 'spec_helper'
|
|
14
|
-
require 'json'
|
|
15
|
-
require 'date'
|
|
16
|
-
|
|
17
|
-
# Unit tests for Late::GetRedditFeed200Response
|
|
18
|
-
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
-
# Please update as you see appropriate
|
|
20
|
-
describe Late::GetRedditFeed200Response do
|
|
21
|
-
#let(:instance) { Late::GetRedditFeed200Response.new }
|
|
22
|
-
|
|
23
|
-
describe 'test an instance of GetRedditFeed200Response' do
|
|
24
|
-
it 'should create an instance of GetRedditFeed200Response' do
|
|
25
|
-
# uncomment below to test the instance creation
|
|
26
|
-
#expect(instance).to be_instance_of(Late::GetRedditFeed200Response)
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
describe 'test attribute "posts"' do
|
|
31
|
-
it 'should work' do
|
|
32
|
-
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
describe 'test attribute "after"' do
|
|
37
|
-
it 'should work' do
|
|
38
|
-
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
end
|