class

QBittorrent::Model::RssRule

Inherits JSON::Serializable::Unmapped < JSON::Serializable < Reference < Object

An RSS auto-downloading rule, as returned by GET rss/rules (values of the {ruleName => RssRule} map) and accepted by POST rss/setRule (serialized into the ruleDef form field).

Round-trips cleanly: parse rss/rules, mutate a rule, and #to_json it back into set_rule. Every field is nilable/defaulted so partial or version-drifted payloads parse, and unknown keys survive via JSON::Serializable::Unmapped.

add_paused and torrent_content_layout are tri-state: qBittorrent sends null to mean "use the global default", distinct from an explicit true/false or layout string. They stay nil when absent or null.

Constructors

new(enabled : Bool | Nil = nil, must_contain : String | Nil = nil, must_not_contain : String | Nil = nil, use_regex : Bool | Nil = nil, episode_filter : String | Nil = nil, smart_filter : Bool | Nil = nil, previously_matched_episodes : Array(String) | Nil = nil, affected_feeds : Array(String) | Nil = nil, ignore_days : Int32 | Nil = nil, last_match : String | Nil = nil, add_paused : Bool | Nil = nil, assigned_category : String | Nil = nil, save_path : String | Nil = nil, torrent_content_layout : String | Nil = nil, torrent_params : JSON::Any | Nil = nil)
Source
new(*, __pull_for_json_serializable pull : JSON::PullParser)
Source

Instance methods

add_paused

Tri-state add-paused: true/false, or nil/null for the global default.

Source
add_paused=(add_paused : Bool | Nil)

Tri-state add-paused: true/false, or nil/null for the global default.

Source
affected_feeds

Feed URLs this rule applies to.

Source
affected_feeds=(affected_feeds : Array(String) | Nil)

Feed URLs this rule applies to.

Source
assigned_category

Category assigned to torrents added by this rule.

Source
assigned_category=(assigned_category : String | Nil)

Category assigned to torrents added by this rule.

Source
enabled

Whether the rule is active.

Source
enabled=(enabled : Bool | Nil)

Whether the rule is active.

Source
episode_filter

Episode filter expression, e.g. "1x2-;".

Source
episode_filter=(episode_filter : String | Nil)

Episode filter expression, e.g. "1x2-;".

Source
ignore_days

Ignore subsequent matches for this many days after a match.

Source
ignore_days=(ignore_days : Int32 | Nil)

Ignore subsequent matches for this many days after a match.

Source
last_match

Datetime string of the last match, e.g. "2021-01-01T12:00:00".

Source
last_match=(last_match : String | Nil)

Datetime string of the last match, e.g. "2021-01-01T12:00:00".

Source
must_contain

Substring/regex the article title must contain to match.

Source
must_contain=(must_contain : String | Nil)

Substring/regex the article title must contain to match.

Source
must_not_contain

Substring/regex the article title must NOT contain.

Source
must_not_contain=(must_not_contain : String | Nil)

Substring/regex the article title must NOT contain.

Source
previously_matched_episodes

Episodes already matched by the smart filter.

Source
previously_matched_episodes=(previously_matched_episodes : Array(String) | Nil)

Episodes already matched by the smart filter.

Source
save_path

Save path for torrents added by this rule.

Source
save_path=(save_path : String | Nil)

Save path for torrents added by this rule.

Source
smart_filter

Enable smart episode filtering (skip already-downloaded episodes).

Source
smart_filter=(smart_filter : Bool | Nil)

Enable smart episode filtering (skip already-downloaded episodes).

Source
torrent_content_layout

Content layout for added torrents (Original/Subfolder/NoSubfolder), or nil/null for the global default [5.x].

Source
torrent_content_layout=(torrent_content_layout : String | Nil)

Content layout for added torrents (Original/Subfolder/NoSubfolder), or nil/null for the global default [5.x].

Source
torrent_params

Structured torrent add-parameters object [5.x newer]. Kept as JSON::Any since its shape mirrors the (large, drifting) add-torrent params.

Source
torrent_params=(torrent_params : JSON::Any | Nil)

Structured torrent add-parameters object [5.x newer]. Kept as JSON::Any since its shape mirrors the (large, drifting) add-torrent params.

Source
use_regex

Treat mustContain/mustNotContain as regular expressions.

Source
use_regex=(use_regex : Bool | Nil)

Treat mustContain/mustNotContain as regular expressions.

Source