Module: Jikanrb

Defined in:
lib/jikanrb.rb,
lib/jikanrb/utils.rb,
lib/jikanrb/client.rb,
lib/jikanrb/errors.rb,
lib/jikanrb/version.rb,
lib/jikanrb/pagination.rb,
lib/jikanrb/configuration.rb,
lib/jikanrb/resources/base_resource.rb,
lib/jikanrb/resources/anime_resource.rb,
lib/jikanrb/resources/manga_resource.rb,
lib/jikanrb/resources/person_resource.rb,
lib/jikanrb/resources/character_resource.rb

Overview

Jikanrb is a modern Ruby wrapper for the Jikan REST API v4. Provides easy access to anime, manga, characters, and more from MyAnimeList.

Examples:

Basic usage

client = Jikanrb::Client.new
anime = client.anime(1) # Cowboy Bebop

Using global configuration

Jikanrb.configure do |config|
  config.read_timeout = 15
end
anime = Jikanrb.anime(1)

Defined Under Namespace

Modules: Pagination, Resources Classes: BadRequestError, Client, ClientError, Configuration, ConfigurationError, ConnectionError, Error, IndifferentHash, MethodNotAllowedError, NotFoundError, ParseError, RateLimitError, ServerError

Constant Summary collapse

VERSION =
'0.3.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationConfiguration

Global configuration for the gem

Returns:



36
37
38
# File 'lib/jikanrb.rb', line 36

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.anime(id) ⇒ Object



79
80
81
# File 'lib/jikanrb.rb', line 79

def anime(id)
  client.anime(id)
end

.character(id) ⇒ Object



89
90
91
# File 'lib/jikanrb.rb', line 89

def character(id)
  client.character(id)
end

.clientClient

Default client using global configuration

Returns:

  • (Client)

    Configured client



64
65
66
# File 'lib/jikanrb.rb', line 64

def client
  @client ||= Client.new { |config| configure_client(config) }
end

.configure {|config| ... } ⇒ Object

Configures the gem with a block

Examples:

Jikanrb.configure do |config|
  config.read_timeout = 15
  config.logger = Logger.new($stdout)
end

Yields:

  • (config)

    Configuration block

Yield Parameters:



50
51
52
# File 'lib/jikanrb.rb', line 50

def configure
  yield(configuration)
end

.manga(id) ⇒ Object



84
85
86
# File 'lib/jikanrb.rb', line 84

def manga(id)
  client.manga(id)
end

.person(id) ⇒ Object



94
95
96
# File 'lib/jikanrb.rb', line 94

def person(id)
  client.person(id)
end

.reset_client!nil

Resets the client (useful after changing configuration)

Returns:

  • (nil)


71
72
73
# File 'lib/jikanrb.rb', line 71

def reset_client!
  @client = nil
end

.reset_configuration!Configuration

Resets configuration to default values

Returns:



57
58
59
# File 'lib/jikanrb.rb', line 57

def reset_configuration!
  @configuration = Configuration.new
end

.schedules(day: nil) ⇒ Object



129
130
131
# File 'lib/jikanrb.rb', line 129

def schedules(day: nil)
  client.schedules(day: day)
end

.search_anime(query, **params) ⇒ Object



99
100
101
# File 'lib/jikanrb.rb', line 99

def search_anime(query, **params)
  client.search_anime(query, **params)
end

.search_manga(query, **params) ⇒ Object



104
105
106
# File 'lib/jikanrb.rb', line 104

def search_manga(query, **params)
  client.search_manga(query, **params)
end

.season(year, season, page: 1) ⇒ Object



119
120
121
# File 'lib/jikanrb.rb', line 119

def season(year, season, page: 1)
  client.season(year, season, page: page)
end

.season_now(page: 1) ⇒ Object



124
125
126
# File 'lib/jikanrb.rb', line 124

def season_now(page: 1)
  client.season_now(page: page)
end

.top_anime(type: nil, filter: nil, page: 1) ⇒ Object



109
110
111
# File 'lib/jikanrb.rb', line 109

def top_anime(type: nil, filter: nil, page: 1)
  client.top_anime(type: type, filter: filter, page: page)
end

.top_manga(type: nil, filter: nil, page: 1) ⇒ Object



114
115
116
# File 'lib/jikanrb.rb', line 114

def top_manga(type: nil, filter: nil, page: 1)
  client.top_manga(type: type, filter: filter, page: page)
end