webtoon_source 0.9.0 → 0.10.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 494e1c0f0c1310a98d9650cd127796b2032cdc3ff5816c0e63bf1d6118f7edce
4
- data.tar.gz: b4904c1caf832e60b31f80ee054aee0c1ebe0712bf96d990e27e2cb77a0bbad8
3
+ metadata.gz: 7acf250b522259b3746b96d336d4e9371c4ef7e95e86c2b38f77121106b8d9da
4
+ data.tar.gz: 7679cf35ff7bd672f9c575cb0e7418e6b902e8245c54cef336efb75e133dd925
5
5
  SHA512:
6
- metadata.gz: 25430f93d58dc18a2a4324cd911d98dbbcdcc0d0de86fe9ab8d993c4a81d2e7bf1ba3ae8bc37d6bd26143588a27e7f13deb094dfbe026e03141cc484f4d83f2b
7
- data.tar.gz: 60bd6991d986bb62d4e0f09a5ca4d002c3b28afa23b7c75ed4a0c6f5a686035d08156423a2421ca3527cf8ed933d73e0ae2dc9aff105a65b7ba29c769834cf70
6
+ metadata.gz: 3758d044a1483ae97cbee228092f9b6e57c8af10eb56a94a85fcc02817c271653644d64144adaab5997b8041c2fef31f8a3d7be7f8009b0eaf0f5bc1154d7533
7
+ data.tar.gz: d96739eccc7d7293300b563493410311842ad515cb686587d6abdf9e3dd3a709dfb713affac0563459339718f3928d334613b569a014401859f4bfc825e5804a
@@ -88,9 +88,10 @@ class WebtoonSource::AsuraScans
88
88
  end
89
89
  end
90
90
 
91
- def search(params)
92
- title, comic_type = params.values_at(:title, :comic_type)
91
+ def search(params) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
92
+ title, comic_type, titles = params.values_at(:title, :comic_type, :titles)
93
93
 
94
+ # TODO: Maybe add genre to further narrow down the comic.
94
95
  search_params = {
95
96
  q: title,
96
97
  type: comic_type
@@ -98,9 +99,18 @@ class WebtoonSource::AsuraScans
98
99
 
99
100
  response = @conn.get("browse", search_params)
100
101
 
101
- slug_pattern = %r{<a\s+href="/comics/([^"]+)"}
102
- slugs = response.body.scan(slug_pattern).flatten.uniq
102
+ slug_pattern = %r{<a\s+href="/comics/([^"]+)">(.+)</a>}
103
+ matches = response.body.scan(slug_pattern).uniq
103
104
 
104
- slugs.first
105
+ slug = nil
106
+
107
+ matches.each do |match|
108
+ captured_slug, anchor_inner_text = match
109
+ captured_title = anchor_inner_text.match(%r{<h3[^>]+>(.+?)</h3>}).to_a.last.strip
110
+
111
+ slug = captured_slug if titles.include?(captured_title)
112
+ end
113
+
114
+ slug
105
115
  end
106
116
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class WebtoonSource
4
- VERSION = "0.9.0"
4
+ VERSION = "0.10.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webtoon_source
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Kenneth Sinay