class Panchira::KomifloResolver

KomifloResolver resolves Komiflo. Komiflo has its API server, so we can utilize it.

Constants

URL_REGEXP

Public Class Methods

new(url) click to toggle source
# File lib/panchira/resolvers/komiflo_resolver.rb, line 9
def initialize(url)
  @url = url

  @id = url.slice(URL_REGEXP, 1)
  raw_json = URI.parse("https://api.komiflo.com/content/id/#{@id}").read('User-Agent' => user_agent)
  @json = JSON.parse(raw_json)
end

Private Instance Methods

parse_author() click to toggle source
# File lib/panchira/resolvers/komiflo_resolver.rb, line 27
def parse_author
  @json['content']['attributes']['artists']['children'][0]['data']['name']
end
parse_canonical_url() click to toggle source
# File lib/panchira/resolvers/komiflo_resolver.rb, line 35
def parse_canonical_url
  id = @url.slice(%r{komiflo\.com(?:/#!)?/comics/(\d+)}, 1)
  "https://komiflo.com/comics/#{id}"
end
parse_description() click to toggle source
# File lib/panchira/resolvers/komiflo_resolver.rb, line 31
def parse_description
  @json['content']['parents'][0]['data']['title']
end
parse_image_url() click to toggle source
# File lib/panchira/resolvers/komiflo_resolver.rb, line 23
def parse_image_url
  "https://t.komiflo.com/564_mobile_large_3x/#{@json['content']['named_imgs']['cover']['filename']}"
end
parse_tags() click to toggle source
# File lib/panchira/resolvers/komiflo_resolver.rb, line 40
def parse_tags
  @json['content']['attributes']['tags']['children'].map { |content| content['data']['name'] }
end
parse_title() click to toggle source
# File lib/panchira/resolvers/komiflo_resolver.rb, line 19
def parse_title
  @json['content']['data']['title']
end