diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-05-11 12:14:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-11 12:14:29 +0200 |
commit | 32762f2fa864d8f56dfba59e8b5ff6ccf03aecb6 (patch) | |
tree | d7143f63d6fc7d0d6d817d61f2fcc335fe4aba7a /app/lib/rss/element.rb | |
parent | e8b8ac8908c6623f0fd7ffccc7de3882a773b72f (diff) | |
parent | 6fb837aa1d34fbafda1fe561d1a3789ac281d27c (diff) |
Merge pull request #1767 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/lib/rss/element.rb')
-rw-r--r-- | app/lib/rss/element.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/lib/rss/element.rb b/app/lib/rss/element.rb new file mode 100644 index 000000000..7142fa039 --- /dev/null +++ b/app/lib/rss/element.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +class RSS::Element + def self.with(*args, &block) + new(*args).tap(&block).to_element + end + + def create_element(name, content = nil) + Ox::Element.new(name).tap do |element| + yield element if block_given? + element << content if content.present? + end + end + + def append_element(name, content = nil) + @root << create_element(name, content).tap do |element| + yield element if block_given? + end + end + + def to_element + @root + end +end |