sources: rename Sources::Strategies to Source::Extractor.

Rename Sources::Strategies to Source::Extractor. A Source::Extractor
represents a thing that extracts information from a given URL.
This commit is contained in:
evazion
2022-03-24 03:05:10 -05:00
parent 34aa22f90b
commit d9d3c1dfe4
63 changed files with 622 additions and 606 deletions

View File

@@ -10,7 +10,7 @@ module Sources
context "A c.fantia.jp/uploads/post/file/ url" do
should "work" do
url = "https://c.fantia.jp/uploads/post/file/1070093/16faf0b1-58d8-4aac-9e86-b243063eaaf1.jpeg"
source = Sources::Strategies.find(url)
source = Source::Extractor.find(url)
assert_equal([url], source.image_urls)
assert_equal("豆ラッコ", source.other_names.first)
@@ -28,7 +28,7 @@ module Sources
should "work" do
url = "https://cc.fantia.jp/uploads/post_content_photo/file/7087182/main_7f04ff3c-1f08-450f-bd98-796c290fc2d1.jpg?Key-Pair-Id=APKAIOCKYZS7WKBB6G7A&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jYy5mYW50aWEuanAvdXBsb2Fkcy9wb3N0X2NvbnRlbnRfcGhvdG8vZmlsZS83MDg3MTgyL21haW5fN2YwNGZmM2MtMWYwOC00NTBmLWJkOTgtNzk2YzI5MGZjMmQxLmpwZyIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY0NjkyODAzN319fV19&Signature=wl2Nr9i1O5R5dDc7FB-8CKtRvyZPS6ZEFXn7Q74rBh9R2PZkpKuQUDDsJubgkYaHrqHEapcOdZczzZaM5kbRLXGPOnVFUE7vHKnXZTO~Z1-Z8Cqt823NKCR-AXBjYPhQoGP0pITLYkjhofy0FXg6RYJ0oNJPdKkdjcnwzr-nZfyaFgkrrQ5~LRDhW5HOgSNfvhJleMRLRgLtXbbgNnVwHmpFWNkFSwwmDcUTXTh4hrhQrOJ~xJmiQesSP1wPAE5ZZSBGsbUstOa5Y1nVu540wItR4VWLm-jjuMk9OIr-Nvxg0ocoP9WU13WrRbeMeL5X0xhxBYSxgVIKXko2BqMf5w__"
ref = "https://fantia.jp/posts/1132267"
source = Sources::Strategies.find(url, ref)
source = Source::Extractor.find(url, ref)
assert_equal("稲光伸二", source.other_names.first)
assert_equal("https://fantia.jp/fanclubs/1096", source.profile_url)
@@ -43,7 +43,7 @@ module Sources
context "A c.fantia.jp/uploads/product/image/ url" do
should "work" do
url = "https://c.fantia.jp/uploads/product/image/249638/fd5aef8f-c217-49d0-83e8-289efb33dfc4.jpg"
source = Sources::Strategies.find(url)
source = Source::Extractor.find(url)
tags = ["イラスト集", "CG集", "PNG", "オリジナル", "宮前詩帆", "春川朱璃愛", "夏川黒羽", "ASMR", "音声", "原神", "シニョーラ"]
assert_equal([url], source.image_urls)
@@ -62,7 +62,7 @@ module Sources
should "work" do
url = "https://c.fantia.jp/uploads/product_image/file/219407/main_bd7419c2-2450-4c53-a28a-90101fa466ab.jpg"
ref = "https://fantia.jp/products/249638"
source = Sources::Strategies.find(url, ref)
source = Source::Extractor.find(url, ref)
assert_equal(["https://c.fantia.jp/uploads/product_image/file/219407/bd7419c2-2450-4c53-a28a-90101fa466ab.jpg"], source.image_urls)
assert_equal("https://fantia.jp/fanclubs/7", source.profile_url)
@@ -76,7 +76,7 @@ module Sources
context "A fantia.jp/posts/$id/download url" do
should "work" do
url = "https://fantia.jp/posts/1143951/download/1830956"
source = Sources::Strategies.find(url)
source = Source::Extractor.find(url)
assert_match(%r{1830956/cbcdfcbe_20220224_120_040_100.png}, source.image_urls.sole)
assert_equal("松永紅葉", source.other_names.first)
@@ -93,7 +93,7 @@ module Sources
context "A fantia.jp/posts/$id url" do
should "work" do
url = "https://fantia.jp/posts/1143951"
source = Sources::Strategies.find(url)
source = Source::Extractor.find(url)
assert_equal("https://c.fantia.jp/uploads/post/file/1143951/47491020-a6c6-47db-b09e-815b0530c0bc.png", source.image_urls.first)
assert_match(%r{1830956/cbcdfcbe_20220224_120_040_100.png}, source.image_urls.second)
@@ -112,7 +112,7 @@ module Sources
context "A fantia.jp/products/$id url" do
should "work" do
url = "https://fantia.jp/products/249638"
source = Sources::Strategies.find(url)
source = Source::Extractor.find(url)
image_urls = %w[
https://c.fantia.jp/uploads/product/image/249638/fd5aef8f-c217-49d0-83e8-289efb33dfc4.jpg
https://c.fantia.jp/uploads/product_image/file/219406/c73bd7f9-a13a-48f7-9ac7-35309faa88c3.jpg
@@ -137,7 +137,7 @@ module Sources
context "A product url with no images" do
should "not get placeholder images" do
source = Sources::Strategies.find("https://fantia.jp/products/10000")
source = Source::Extractor.find("https://fantia.jp/products/10000")
assert_equal([], source.image_urls)
assert_nothing_raised { source.to_h }
end
@@ -148,8 +148,8 @@ module Sources
url1 = "https://fantia.jp/posts/12345678901234567890"
url2 = "https://fantia.jp/products/12345678901234567890"
source1 = Sources::Strategies.find(url1)
source2 = Sources::Strategies.find(url2)
source1 = Source::Extractor.find(url1)
source2 = Source::Extractor.find(url2)
assert_equal([], source1.image_urls)
assert_equal([], source2.image_urls)