e621_export_downloader 0.0.1 → 0.0.3

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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -0
  3. data/lib/e621_export_downloader/railtie.rb +12 -0
  4. data/lib/e621_export_downloader/serializers/active_job.rb +21 -0
  5. data/lib/e621_export_downloader/types.rb +6 -6
  6. data/lib/e621_export_downloader/version.rb +1 -1
  7. data/lib/e621_export_downloader.rb +4 -0
  8. data/sorbet/rbi/dsl/.gitattributes +1 -0
  9. data/sorbet/rbi/dsl/active_support/callbacks.rbi +23 -0
  10. data/sorbet/rbi/gems/actioncable@7.1.6.rbi +9 -0
  11. data/sorbet/rbi/gems/actionmailbox@7.1.6.rbi +9 -0
  12. data/sorbet/rbi/gems/actionmailer@7.1.6.rbi +9 -0
  13. data/sorbet/rbi/gems/actionpack@7.1.6.rbi +18691 -0
  14. data/sorbet/rbi/gems/actiontext@7.1.6.rbi +9 -0
  15. data/sorbet/rbi/gems/actionview@7.1.6.rbi +14490 -0
  16. data/sorbet/rbi/gems/activejob@7.1.6.rbi +94 -0
  17. data/sorbet/rbi/gems/activemodel@7.1.6.rbi +9 -0
  18. data/sorbet/rbi/gems/activerecord@7.1.6.rbi +9 -0
  19. data/sorbet/rbi/gems/activestorage@7.1.6.rbi +9 -0
  20. data/sorbet/rbi/gems/activesupport@7.1.6.rbi +18481 -0
  21. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  22. data/sorbet/rbi/gems/bigdecimal@4.1.2.rbi +478 -0
  23. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  24. data/sorbet/rbi/gems/cgi@0.5.1.rbi +2958 -0
  25. data/sorbet/rbi/gems/concurrent-ruby@1.3.6.rbi +10640 -0
  26. data/sorbet/rbi/gems/connection_pool@3.0.2.rbi +9 -0
  27. data/sorbet/rbi/gems/crass@1.0.6.rbi +601 -0
  28. data/sorbet/rbi/gems/drb@2.2.3.rbi +1589 -0
  29. data/sorbet/rbi/gems/globalid@1.3.0.rbi +9 -0
  30. data/sorbet/rbi/gems/i18n@1.14.8.rbi +2255 -0
  31. data/sorbet/rbi/gems/loofah@2.25.1.rbi +1083 -0
  32. data/sorbet/rbi/gems/mail@2.9.0.rbi +9 -0
  33. data/sorbet/rbi/gems/marcel@1.1.0.rbi +9 -0
  34. data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +9 -0
  35. data/sorbet/rbi/gems/minitest@6.0.6.rbi +1482 -0
  36. data/sorbet/rbi/gems/mutex_m@0.3.0.rbi +95 -0
  37. data/sorbet/rbi/gems/net-imap@0.6.4.rbi +9 -0
  38. data/sorbet/rbi/gems/net-pop@0.1.2.rbi +9 -0
  39. data/sorbet/rbi/gems/net-protocol@0.2.2.rbi +244 -0
  40. data/sorbet/rbi/gems/net-smtp@0.5.1.rbi +9 -0
  41. data/sorbet/rbi/gems/nio4r@2.7.5.rbi +9 -0
  42. data/sorbet/rbi/gems/nokogiri@1.19.3.rbi +8117 -0
  43. data/sorbet/rbi/gems/rack-session@2.1.2.rbi +756 -0
  44. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +681 -0
  45. data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
  46. data/sorbet/rbi/gems/rackup@2.3.1.rbi +9 -0
  47. data/sorbet/rbi/gems/rails-dom-testing@2.3.0.rbi +517 -0
  48. data/sorbet/rbi/gems/rails-html-sanitizer@1.7.0.rbi +620 -0
  49. data/sorbet/rbi/gems/rails@7.1.6.rbi +9 -0
  50. data/sorbet/rbi/gems/railties@7.1.6.rbi +3207 -0
  51. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  52. data/sorbet/rbi/gems/timeout@0.6.1.rbi +203 -0
  53. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5474 -0
  54. data/sorbet/rbi/gems/websocket-driver@0.8.0.rbi +9 -0
  55. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +9 -0
  56. metadata +52 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07a77d7c815326f0a51b7026c42f89c187fc526cc7caf20af35839e628e5243e
4
- data.tar.gz: 23e2cd461ce89e9be5ff79d4a398e84762560e19a6edc9afffb323954ec37ba9
3
+ metadata.gz: ef31343295188d4e90bc9c826cc0c1df810b9a93ee5a1ff99b616c45a08741c6
4
+ data.tar.gz: 000ddd8a6db8c17687703730643a64eda21d8562a3fcef10ad2b4aaf7a90f383
5
5
  SHA512:
6
- metadata.gz: 25ac18b83938e29298b3221b162594c6112a679b11d510ac70c46aff148f5fb08ede1b26466ccc942aa74a898a3680d7eb2087fb4374f49387b133ecf3974dc2
7
- data.tar.gz: 316c7856999ce0ef76a24ba7dcaa7870969a0c1c41a8efe9a4ba30d63447bccc55d172a6c797359b916da2f76d89d2433f0047810798f23a859726e3ed21052b
6
+ metadata.gz: fdf9d2410b89b5420ca23cd7df1f35d124bccb86628e3a5c26afbdd863679f159172332f8f20131e279506c22ede1fce2452bc04514ce159ec3dc924c559ca27
7
+ data.tar.gz: fd2d7e0d94eb0bc2c2f3ec4c9ff12e23185a58facc12fa01d2589315c27d5b1d0e05f90b2243ba6e5664d56901cbbafe76a29520bc478165e5997a0ef501c99d
data/README.md CHANGED
@@ -139,6 +139,22 @@ e621-export-downloader --rewind-on-not-found 5 # enable rewinding (up to 5 da
139
139
  e621-export-downloader --no-rewind-on-not-found # disable rewinding (default)
140
140
  ```
141
141
 
142
+ ## ActiveJob Integration
143
+
144
+ `E621ExportDownloader::Serializers::ActiveJob` allows `E621ExportDownloader::Types` values to be passed as ActiveJob arguments.
145
+
146
+ In a **Rails app** the serializer is registered automatically — no extra setup needed.
147
+
148
+ In a **non-Rails app** using ActiveJob standalone, register it manually after loading both gems:
149
+
150
+ ```ruby
151
+ require("activejob")
152
+ require("e621_export_downloader")
153
+ require("e621_export_downloader/serializers/active_job")
154
+
155
+ ActiveJob::Serializers.add_serializers(E621ExportDownloader::Serializers::ActiveJob)
156
+ ```
157
+
142
158
  ## Contributing
143
159
 
144
160
  Bug reports and pull requests are welcome on GitHub at https://github.com/DonovanDMC/E621ExportDownloader.rb.
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module E621ExportDownloader
4
+ class Railtie < Rails::Railtie
5
+ initializer("e621_export_downloader.register_active_job_serializer") do
6
+ ActiveSupport.on_load(:active_job) do
7
+ require("e621_export_downloader/serializers/active_job")
8
+ ActiveJob::Serializers.add_serializers(::E621ExportDownloader::Serializers::ActiveJob)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require("active_job")
4
+
5
+ module E621ExportDownloader
6
+ module Serializers
7
+ class ActiveJob < ::ActiveJob::Serializers::ObjectSerializer
8
+ def serialize?(argument)
9
+ argument.is_a?(Types)
10
+ end
11
+
12
+ def serialize(argument)
13
+ super("value" => argument.serialize)
14
+ end
15
+
16
+ def deserialize(argument)
17
+ Types.const_get(argument["value"].split(/[_\s-]/).map(&:capitalize).join)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -3,12 +3,12 @@
3
3
  module E621ExportDownloader
4
4
  class Types < T::Enum
5
5
  enums do
6
- Pools = new
7
- Posts = new
8
- TagAliases = new
9
- TagImplications = new
10
- Tags = new
11
- WikiPages = new
6
+ Pools = new("pools")
7
+ Posts = new("posts")
8
+ TagAliases = new("tag_aliases")
9
+ TagImplications = new("tag_implications")
10
+ Tags = new("tags")
11
+ WikiPages = new("wiki_pages")
12
12
  end
13
13
  end
14
14
  end
@@ -4,7 +4,7 @@
4
4
  # loaded by bundler
5
5
  module E621ExportDownloader
6
6
  module Constants
7
- VERSION = "0.0.1"
7
+ VERSION = "0.0.3"
8
8
  WEBSITE = "https://github.com/DonovanDMC/E621ExportDownloader.rb"
9
9
  end
10
10
  end
@@ -5,8 +5,12 @@ require("sorbet-runtime")
5
5
 
6
6
  loader = Zeitwerk::Loader.for_gem
7
7
  loader.ignore("#{__dir__}/e621_export_downloader/version.rb")
8
+ loader.ignore("#{__dir__}/e621_export_downloader/railtie.rb")
9
+ loader.ignore("#{__dir__}/e621_export_downloader/serializers/active_job.rb")
8
10
  loader.setup
9
11
 
12
+ require("e621_export_downloader/railtie") if defined?(Rails::Railtie)
13
+
10
14
  module E621ExportDownloader
11
15
  class ResolveError < StandardError; end
12
16
  end
@@ -0,0 +1 @@
1
+ **/*.rbi linguist-generated=true
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for dynamic methods in `ActiveSupport::Callbacks`.
5
+ # Please instead update this file by running `bin/tapioca dsl ActiveSupport::Callbacks`.
6
+
7
+
8
+ module ActiveSupport::Callbacks
9
+ include GeneratedInstanceMethods
10
+
11
+ mixes_in_class_methods GeneratedClassMethods
12
+
13
+ module GeneratedClassMethods
14
+ def __callbacks; end
15
+ def __callbacks=(value); end
16
+ def __callbacks?; end
17
+ end
18
+
19
+ module GeneratedInstanceMethods
20
+ def __callbacks; end
21
+ def __callbacks?; end
22
+ end
23
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `actioncable` gem.
5
+ # Please instead update this file by running `bin/tapioca gem actioncable`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `actionmailbox` gem.
5
+ # Please instead update this file by running `bin/tapioca gem actionmailbox`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `actionmailer` gem.
5
+ # Please instead update this file by running `bin/tapioca gem actionmailer`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem