class Panchira::Narou::NcodeResolver

Constants

ID_REGEXP
URL_REGEXP

Public Class Methods

new(url) click to toggle source
Calls superclass method
# File lib/panchira/resolvers/narou_resolver.rb, line 51
def initialize(url)
  super(url)

  if id = @url.match(ID_REGEXP)[:id]
    @desc = fetch_page("https://novel18.syosetu.com/novelview/infotop/ncode/#{id}/")
  end
end

Public Instance Methods

parse_author() click to toggle source
# File lib/panchira/resolvers/narou_resolver.rb, line 63
def parse_author
  @desc&.xpath('//*[@id="noveltable1"]/tr[2]/td')&.text&.strip
end
parse_canonical_url() click to toggle source

og:urlで指定されたncode.syosetu.com/~~~にアクセスすると301で戻されるので何もしない

# File lib/panchira/resolvers/narou_resolver.rb, line 73
def parse_canonical_url
  @url
end
parse_description() click to toggle source
# File lib/panchira/resolvers/narou_resolver.rb, line 59
def parse_description
  @desc&.xpath('//*[@id="noveltable1"]/tr/td')&.first&.text&.strip
end
parse_tags() click to toggle source
# File lib/panchira/resolvers/narou_resolver.rb, line 67
def parse_tags
  # めっちゃつらい。
  @desc&.xpath('//*[@id="noveltable1"]/tr[3]')&.text&.split("\n\n\n")&.dig(1)&.delete("\u00A0")&.split(' ')&.grep_v('')
end