Class: Pixiv::Illust

Inherits:
Page
  • Object
show all
Defined in:
lib/pixiv/illust.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Page

#doc, #force, #initialize, lazy_new

Constructor Details

This class inherits a constructor from Pixiv::Page

Instance Attribute Details

#illust_idInteger (readonly) Also known as: id

Lazily returns illust_id

Returns:

  • (Integer)


24
# File 'lib/pixiv/illust.rb', line 24

lazy_attr_reader(:illust_id) { at!('#rpc_i_id').attr('title').to_i }

#medium_image_urlString (readonly)

Returns:

  • (String)


13
# File 'lib/pixiv/illust.rb', line 13

lazy_attr_reader(:medium_image_url) { image_url_components.join('_m') }

#member_idInteger (readonly)

Lazily returns member_id

Returns:

  • (Integer)


26
# File 'lib/pixiv/illust.rb', line 26

lazy_attr_reader(:member_id) { at!('#rpc_u_id').attr('title').to_i }

#member_nameString (readonly)

Lazily returns member_name

Returns:

  • (String)


28
# File 'lib/pixiv/illust.rb', line 28

lazy_attr_reader(:member_name) { raise NotImplementError.new('XXX') }

#num_pagesInteger (readonly)

Lazily returns num_pages

Returns:

  • (Integer)


32
33
34
35
# File 'lib/pixiv/illust.rb', line 32

lazy_attr_reader(:num_pages) {
  n = at!('//ul[@class="meta"]/li[2]').inner_text.match(/(\d+)P$/).to_a[1]
  n && n.to_i
}

#original_image_refererString (readonly) Also known as: original_image_referrer

Lazily returns original_image_referer

Returns:

  • (String)


22
# File 'lib/pixiv/illust.rb', line 22

lazy_attr_reader(:original_image_referer) { ROOT_URL + '/' + at!('//div[@class="works_display"]/a').attr('href') }

#original_image_urlString (readonly)

Returns:

  • (String)


15
# File 'lib/pixiv/illust.rb', line 15

lazy_attr_reader(:original_image_url) { illust? && image_url_components.join('') }

#original_image_urlsArray<String> (readonly)

Lazily returns original_image_urls

Returns:

  • (Array<String>)


17
18
19
20
# File 'lib/pixiv/illust.rb', line 17

lazy_attr_reader(:original_image_urls) {
  illust? ? [original_image_url]
          : (0...num_pages).map {|n| image_url_components.join("_p#{n}") }
}

#small_image_urlString (readonly)

Lazily returns small_image_url

Returns:

  • (String)


11
# File 'lib/pixiv/illust.rb', line 11

lazy_attr_reader(:small_image_url) { at!('meta[property="og:image"]').attr('content') }

#titleString (readonly)

Lazily returns title

Returns:

  • (String)


30
# File 'lib/pixiv/illust.rb', line 30

lazy_attr_reader(:title) { raise NotImplementError.new('XXX') }

Class Method Details

.url(illust_id) ⇒ String

Returns the URL for given illust_id

Parameters:

  • illust_id (Integer)

Returns:

  • (String)


6
7
8
# File 'lib/pixiv/illust.rb', line 6

def self.url(illust_id)
  "#{ROOT_URL}/member_illust.php?mode=medium&illust_id=#{illust_id}"
end

Instance Method Details

#illust?Boolean

Returns:

  • (Boolean)


43
# File 'lib/pixiv/illust.rb', line 43

def illust?; !manga? end

#manga?Boolean

Returns:

  • (Boolean)


45
# File 'lib/pixiv/illust.rb', line 45

def manga?; !!num_pages end

#urlString

Returns:

  • (String)


41
# File 'lib/pixiv/illust.rb', line 41

def url; self.class.url(illust_id) end