class Prismdb::Client

Public Instance Methods

find_character(key) click to toggle source

@param key [String]

@return [Prismdb::Response]

# File lib/prismdb/client.rb, line 13
def find_character(key)
  with_error_handling do
    connection.get("/api/character/#{key}").body
  end
end
find_episode(key) click to toggle source

@param key [String]

@return [Prismdb::Response]

# File lib/prismdb/client.rb, line 29
def find_episode(key)
  with_error_handling do
    connection.get("/api/episode/#{key}").body
  end
end
find_live(key) click to toggle source

@param key [String]

@return [Prismdb::Response]

# File lib/prismdb/client.rb, line 61
def find_live(key)
  with_error_handling do
    connection.get("/api/live/#{key}").body
  end
end
find_series(key) click to toggle source

@param key [String]

@return [Prismdb::Response]

# File lib/prismdb/client.rb, line 77
def find_series(key)
  with_error_handling do
    connection.get("/api/series/#{key}").body
  end
end
find_song(key) click to toggle source

@param key [String]

@return [Prismdb::Response]

# File lib/prismdb/client.rb, line 45
def find_song(key)
  with_error_handling do
    connection.get("/api/song/#{key}").body
  end
end
get_characters() click to toggle source

@return [Array<Prismdb::Response>]

# File lib/prismdb/client.rb, line 4
def get_characters
  with_error_handling do
    connection.get("/api/character").body["results"]
  end
end
get_episodes() click to toggle source

@return [Array<Prismdb::Response>]

# File lib/prismdb/client.rb, line 20
def get_episodes
  with_error_handling do
    connection.get("/api/episode").body["results"]
  end
end
get_lives() click to toggle source

@return [Array<Prismdb::Response>]

# File lib/prismdb/client.rb, line 52
def get_lives
  with_error_handling do
    connection.get("/api/live").body["results"]
  end
end
get_series() click to toggle source

@return [Array<Prismdb::Response>]

# File lib/prismdb/client.rb, line 68
def get_series
  with_error_handling do
    connection.get("/api/series").body["results"]
  end
end
get_songs() click to toggle source

@return [Array<Prismdb::Response>]

# File lib/prismdb/client.rb, line 36
def get_songs
  with_error_handling do
    connection.get("/api/song").body["results"]
  end
end

Private Instance Methods

connection() click to toggle source

@return [Faraday::Connection]

# File lib/prismdb/client.rb, line 86
def connection
  Faraday.new(url: Prismdb.config.api_endpoint) do |conn|
    conn.request :json
    conn.response :mashify, mash_class: Prismdb::Response
    conn.response :json
    conn.response :raise_error

    conn.adapter Faraday.default_adapter
  end
end
with_error_handling() { || ... } click to toggle source
# File lib/prismdb/client.rb, line 97
def with_error_handling
  yield
rescue Faraday::ClientError, Faraday::ServerError => _error
  raise Prismdb::Error
end