class NaeginClient

API Wrapper em Ruby, para Naeg.in

Public Class Methods

new(token) click to toggle source

Cria uma instancia de NaeginClient

# File lib/wrapper/client.rb, line 10
def initialize(token)
  raise InvalidToken, 'Tokens devem ser Strings' unless token.is_a? String

  @url = "https://api.naeg.in/%s?token=#{token}"
end

Public Instance Methods

random_image(tag, nsfw: nil, gif: nil) click to toggle source

Retorna um objeto NaeginImage, levando 'url', 'nsfw' e 'gif' como atributos.

# File lib/wrapper/client.rb, line 26
def random_image(tag, nsfw: nil, gif: nil)
  url = "#{@url % 'img'}&tag=#{tag}"
  url += "&nsfw=#{nsfw}" if nsfw.is_a?(TrueClass) || nsfw.is_a?(FalseClass)
  url += "&gif=#{gif}" if gif.is_a?(TrueClass) || gif.is_a?(FalseClass)

  data = JSON.parse(RestClient.get(url).body)

  raise InvalidAPIResponse, data['mensagem'] if data['erro']

  NaeginImage.new(data)
end
tags() click to toggle source

Lista todas as Tags disponiveis para uso, retornando uma array

# File lib/wrapper/client.rb, line 17
def tags
  data = JSON.parse(RestClient.get(@url % 'tags').body)

  raise InvalidAPIResponse, data['mensagem'] if data['erro']

  data['tags']
end