class NHApi::Doujin
Attributes
cover[R]
id[R]
media_id[R]
num_favorites[R]
num_pages[R]
pages[R]
thumbnail[R]
title[R]
upload_date[R]
Public Class Methods
all(page = 1)
click to toggle source
# File lib/nh_api/doujin.rb, line 29 def self.all(page = 1) response = Faraday.get("#{API_URL}galleries/all?page=#{page}") doujins = JSON.parse(response.body)["result"] doujins.map { |attributes| new(attributes) } end
find(id)
click to toggle source
# File lib/nh_api/doujin.rb, line 23 def self.find(id) response = Faraday.get("#{API_URL}/gallery/#{id}") attributes = JSON.parse(response.body) new(attributes) end
new(attributes)
click to toggle source
# File lib/nh_api/doujin.rb, line 10 def initialize(attributes) @id = attributes["id"] @media_id = attributes["media_id"] @title = attributes["title"] @pages = build_pages(attributes["images"]["pages"]) @thumbnail = NHApi::Thumbnail.new(attributes["images"]["thumbnail"].merge(media_id: media_id)) @cover = NHApi::Cover.new(attributes["images"]["cover"].merge(media_id: media_id)) @upload_date = attributes["upload_date"] @tags = attributes["tags"] @num_pages = attributes["num_pages"] @num_favorites = attributes["num_favorites"] end
Public Instance Methods
Private Instance Methods
build_pages(attributes)
click to toggle source
# File lib/nh_api/doujin.rb, line 43 def build_pages(attributes) attributes.map.with_index do |page_data, page_index| NHApi::Page.new(page_data.merge(page_index: page_index + 1, media_id: media_id)) end end