class PixivApi::PixivBlob

Constants

REFERER

Attributes

url[RW]

Public Class Methods

new(url) click to toggle source
# File lib/pixiv_api/pixiv_blob.rb, line 10
def initialize(url)
  @url = url
end

Public Instance Methods

open(&block) click to toggle source
# File lib/pixiv_api/pixiv_blob.rb, line 18
def open(&block)
  File.open(filepath, &block)
end
read() click to toggle source
# File lib/pixiv_api/pixiv_blob.rb, line 14
def read
  open(&:read)
end
to_path() click to toggle source
# File lib/pixiv_api/pixiv_blob.rb, line 22
def to_path
  filepath
end

Private Instance Methods

filename() click to toggle source
# File lib/pixiv_api/pixiv_blob.rb, line 36
def filename
  extname = File.extname(@url).downcase
  "#{SecureRandom.uuid}#{extname}"
end
filepath() click to toggle source
# File lib/pixiv_api/pixiv_blob.rb, line 28
def filepath
  File.join(PixivApi.configuration.cache_dir, filename).tap do |filepath|
    OpenURI.open_uri(url, 'Referer' => REFERER) do |uri|
      File.open(filepath, 'wb') { |f| f.write(uri.read) }
    end
  end
end