.vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-01-SUMMARY.md
ImagesSettings class with download_to_active_storage (default false), max_download_size (10MB), download_timeout (30s), allowed_content_types (5 image MIME types)Configuration as config.images attr_reader, initialized in constructorrequire to configuration.rb and Images module autoload to lib/source_monitor.rbtest/dummy/db/migrate/20260212000000_create_active_storage_tables.rb)has_many_attached :images to ItemContent modeltest/fixtures/files/test_image.pngContentRewriter class in lib/source_monitor/images/content_rewriter.rb using Nokolexborimage_urls method extracts absolute image URLs from `` tags, skipping data: URIs and invalid URLsrewrite method yields each downloadable URL to a block and replaces src with return value; preserves original on nil returnbase_url parameter, whitespace in src, self-closing tagsconfiguration_test.rb (accessible, defaults, configure block, reset)ImagesSettingsInSettingsTest class to settings_test.rb with 4 tests (defaults, reset, download_enabled?, type check)lib/source_monitor/configuration/images_settings.rb (new -- ImagesSettings class)lib/source_monitor/configuration.rb (added images_settings require, attr_reader, initialization)lib/source_monitor.rb (added Images module autoload)app/models/source_monitor/item_content.rb (added has_many_attached :images)lib/source_monitor/images/content_rewriter.rb (new -- ContentRewriter class)test/lib/source_monitor/configuration/images_settings_test.rb (new -- 15 tests)test/models/source_monitor/item_content_test.rb (new -- 6 tests)test/lib/source_monitor/images/content_rewriter_test.rb (new -- 27 tests)test/lib/source_monitor/configuration_test.rb (added 4 images tests)test/lib/source_monitor/configuration/settings_test.rb (added 4 images tests)test/dummy/db/migrate/20260212000000_create_active_storage_tables.rb (new -- Active Storage migration)test/dummy/db/schema.rb (updated with Active Storage tables)test/fixtures/files/test_image.png (new -- 1x1 PNG fixture)884a3f6 feat(05-01): create-images-settings52f4291 feat(05-01): install-active-storage-and-add-attachmente199999 feat(05-01): create-content-rewriter3954cb1 test(05-01): integration-test-and-config-test-update05705a8 style(05-01): fix array bracket spacing in content_rewriter_testbin/rails test: 941 runs, 3045 assertions, 0 failures, 0 errorsbin/rubocop: 384 files inspected, 0 offensesNone. All tasks executed as specified in the plan.