Class: NaeginClient
- Inherits:
-
Object
- Object
- NaeginClient
- Defined in:
- lib/wrapper/client.rb
Overview
API Wrapper em Ruby, para Naeg.in
Instance Method Summary collapse
-
#initialize(token) ⇒ NaeginClient
constructor
Cria uma instancia de NaeginClient.
-
#random_image(tag, nsfw: nil, gif: nil) ⇒ Object
Retorna um objeto NaeginImage, levando ‘url’, ‘nsfw’ e ‘gif’ como atributos.
-
#tags ⇒ Object
Lista todas as Tags disponiveis para uso, retornando uma array.
Constructor Details
#initialize(token) ⇒ NaeginClient
Cria uma instancia de NaeginClient
10 11 12 13 14 |
# 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 |
Instance Method Details
#random_image(tag, nsfw: nil, gif: nil) ⇒ Object
Retorna um objeto NaeginImage, levando ‘url’, ‘nsfw’ e ‘gif’ como atributos.
26 27 28 29 30 31 32 33 34 35 36 |
# 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 ⇒ Object
Lista todas as Tags disponiveis para uso, retornando uma array
17 18 19 20 21 22 23 |
# File 'lib/wrapper/client.rb', line 17 def data = JSON.parse(RestClient.get(@url % 'tags').body) raise InvalidAPIResponse, data['mensagem'] if data['erro'] data['tags'] end |