buapi 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/buapi.rb +47 -40
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d6e84eafd74a5ba4ef4a07bb72c5bcf7806ef275
4
- data.tar.gz: 5717ff10240332ed8bd228dec4100755b4aa37a7
3
+ metadata.gz: 0af344f4051e44370b806095d5a573b1c9ad0f70
4
+ data.tar.gz: ba293acfaf6a23b77dad996ec57cc2e67457bde8
5
5
  SHA512:
6
- metadata.gz: b4d0bf9c762292ac6854841526ba21b62337005207e8358ca4b35dfb0fd09d46ac279d2290efc85cf652cb31637873954b9297115816ecd4c4a73ee7fb6c464e
7
- data.tar.gz: 6a374b557b7685d00409ed2a08e2d9c96eb386546db473bb8fbe68b829423695ec7cfd0e46406fbbf29fca402b68120c4cfb0429c3bf0376fc33641832b9d212
6
+ metadata.gz: 0492d633cc8671044fdc0444036d4a74e405712ab20ebc838d38acb88b68bdaa6c741f8445317c7a5eb925465b9eaf51a526c8667350c9574a9ad279e466b8b6
7
+ data.tar.gz: 7ce8c558693b36a29717e25d589439c9d907f4f2ae8c4dd931675fa2f8286c37b158929af0f286980cddb58909d024b1f67936c4be8da0b9ce76c32d72949cb2
@@ -12,46 +12,6 @@ module BU
12
12
  end
13
13
  end
14
14
 
15
- def doc(url)
16
- Nokogiri::HTML(@conn.get(url).body)
17
- end
18
-
19
- def search(target, post_options)
20
- Nokogiri::HTML(
21
- @conn.post(target, post_options).body
22
- )
23
- end
24
-
25
- def releases(term)
26
- search('/search.html', {search: term})
27
- end
28
-
29
- def manga(term, type: 'title')
30
- search('/series.html', {stype: type, search: term})
31
- end
32
-
33
- def series_url(manga)
34
- doc = manga(manga)
35
- link = doc.css('a').find do |a|
36
- a[:alt] == "Series Info" && a.text.downcase == manga.downcase
37
- end
38
- link ? link[:href].sub(@root, '') : :no_match
39
- end
40
-
41
- def series_description(info)
42
- info[0].text
43
- end
44
-
45
- def series_genres(info)
46
- info[14].css('a')[0..-2].map {|a| a.text}
47
- end
48
-
49
- def series_scanlators(info)
50
- info[4].css('a')
51
- .select {|a| a.text != "Less..." && a.text != "More..." }
52
- .map {|a| {uri: a[:href], name: a.text} }
53
- end
54
-
55
15
  def series_dashboard(manga)
56
16
  url = series_url(manga)
57
17
  info = doc(url).css('.sMember div.sContent')
@@ -62,6 +22,53 @@ module BU
62
22
  scanlators: series_scanlators(info),
63
23
  }
64
24
  end
25
+
26
+ private
27
+ def doc(url)
28
+ Nokogiri::HTML(@conn.get(url).body)
29
+ end
30
+
31
+ def search(target, post_options)
32
+ Nokogiri::HTML(
33
+ @conn.post(target, post_options).body
34
+ )
35
+ end
36
+
37
+ def releases(term)
38
+ search('/search.html', {search: term})
39
+ end
40
+
41
+ def manga(term, type: 'title')
42
+ search('/series.html', {stype: type, search: term})
43
+ end
44
+
45
+ def series_url(manga)
46
+ doc = manga(manga)
47
+ link = doc.css('a').find do |a|
48
+ a[:alt] == "Series Info" && match_names(a.text, manga)
49
+ end
50
+ link ? link[:href].sub(@root, '') : :no_match
51
+ end
52
+
53
+ def series_description(info)
54
+ info[0].text
55
+ end
56
+
57
+ def series_genres(info)
58
+ info[14].css('a')[0..-2].map {|a| a.text}
59
+ end
60
+
61
+ def series_scanlators(info)
62
+ info[4].css('a')
63
+ .select {|a| a.text != "Less..." && a.text != "More..." }
64
+ .map {|a| {uri: a[:href], name: a.text} }
65
+ end
66
+
67
+ def match_names(name, other)
68
+ name = name.clone.gsub(/\W/, '')
69
+ other = other.clone.gsub(/\W/, '')
70
+ name.downcase == other.downcase
71
+ end
65
72
  end
66
73
  end
67
74
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - jphager2
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-19 00:00:00.000000000 Z
11
+ date: 2014-06-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Useful interface BakaUpdates
14
14
  email: jphager2@gmail.com