Class: Pixiv::BookmarkList
- Includes:
- PageCollection
- Defined in:
- lib/pixiv/bookmark_list.rb
Instance Attribute Summary collapse
-
#illust_hashes ⇒ Array<Hash{Symbol=>Object}>
(also: #page_hashes)
readonly
Lazily returns illust_hashes.
-
#illust_ids ⇒ Array<Integer>
readonly
Lazily returns illust_ids.
-
#last? ⇒ Boolean
readonly
Lazily returns last?.
-
#member_id ⇒ Integer
readonly
Lazily returns member_id.
-
#page_num ⇒ Integer
readonly
Lazily returns page_num.
Class Method Summary collapse
-
.url(member_id, page_num = 1) ⇒ String
Returns the URL for given
member_id
andpage_num
.
Instance Method Summary collapse
- #first? ⇒ Boolean
- #next_url ⇒ String
- #page_class ⇒ Class<Pixiv::Page>
- #page_urls ⇒ Array<String>
- #prev_url ⇒ String
- #url ⇒ String
Methods included from PageCollection
Methods inherited from Page
#doc, #force, #initialize, lazy_new
Constructor Details
This class inherits a constructor from Pixiv::Page
Instance Attribute Details
#illust_hashes ⇒ Array<Hash{Symbol=>Object}> (readonly) Also known as: page_hashes
Lazily returns illust_hashes
22 23 24 |
# File 'lib/pixiv/bookmark_list.rb', line 22 lazy_attr_reader(:illust_hashes) { search!('li[id^="li_"]').map {|node| illust_hash_from_bookmark_item(node) }.compact } |
#illust_ids ⇒ Array<Integer> (readonly)
Lazily returns illust_ids
20 |
# File 'lib/pixiv/bookmark_list.rb', line 20 lazy_attr_reader(:illust_ids) { search!('li[id^="li_"] a[href^="member_illust.php?mode=medium"]').map {|n| n.attr('href').match(/illust_id=(\d+)$/).to_a[1].to_i } } |
#last? ⇒ Boolean (readonly)
Lazily returns last?
16 |
# File 'lib/pixiv/bookmark_list.rb', line 16 lazy_attr_reader(:last?) { at!('li.pages-current').next_element.inner_text.to_i == 0 } |
#member_id ⇒ Integer (readonly)
Lazily returns member_id
18 |
# File 'lib/pixiv/bookmark_list.rb', line 18 lazy_attr_reader(:member_id) { doc.body.match(/pixiv\.context\.userId = '(\d+)'/).to_a[1].to_i } |
#page_num ⇒ Integer (readonly)
Lazily returns page_num
14 |
# File 'lib/pixiv/bookmark_list.rb', line 14 lazy_attr_reader(:page_num) { at!('li.pages-current').inner_text.to_i } |
Class Method Details
.url(member_id, page_num = 1) ⇒ String
Returns the URL for given member_id
and page_num
9 10 11 |
# File 'lib/pixiv/bookmark_list.rb', line 9 def self.url(member_id, page_num = 1) "#{ROOT_URL}/bookmark.php?id=#{member_id}&rest=show&p=#{page_num}" end |
Instance Method Details
#first? ⇒ Boolean
31 |
# File 'lib/pixiv/bookmark_list.rb', line 31 def first?; page_num == 1 end |
#next_url ⇒ String
33 |
# File 'lib/pixiv/bookmark_list.rb', line 33 def next_url; last? ? nil : self.class.url(member_id, page_num + 1) end |
#page_class ⇒ Class<Pixiv::Page>
37 |
# File 'lib/pixiv/bookmark_list.rb', line 37 def page_class; Illust end |
#page_urls ⇒ Array<String>
39 |
# File 'lib/pixiv/bookmark_list.rb', line 39 def page_urls; illust_ids.map {|illust_id| Illust.url(illust_id) } end |
#prev_url ⇒ String
35 |
# File 'lib/pixiv/bookmark_list.rb', line 35 def prev_url; first? ? nil : self.class.url(member_id, page_num - 1) end |
#url ⇒ String
29 |
# File 'lib/pixiv/bookmark_list.rb', line 29 def url; self.class.url(member_id, page_num) end |