module Hiroiyomi::Parser

Parser

Public Class Methods

included(klass) click to toggle source
# File lib/hiroiyomi/parser.rb, line 9
def self.included(klass)
  def klass.read(url, filter:, is_deep: true)
    new.read(url, filter: filter, is_deep: is_deep)
  end
end

Public Instance Methods

read(url, filter:, is_deep: true) click to toggle source
# File lib/hiroiyomi/parser.rb, line 15
def read(url, filter:, is_deep: true)
  @open_file = open_url(url)
  do_filter(do_parse(@open_file), filter: filter, is_deep: is_deep)
ensure
  @open_file&.unlink
end

Private Instance Methods

do_filter(data, *) click to toggle source
# File lib/hiroiyomi/parser.rb, line 32
def do_filter(data, *)
  data
end
do_parse() click to toggle source
# File lib/hiroiyomi/parser.rb, line 28
def do_parse
  raise NoMethodError.new, "#{__method__} need to be overridden."
end
open_url(url) click to toggle source
# File lib/hiroiyomi/parser.rb, line 24
def open_url(url)
  OpenURI.open_uri(url, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE)
end