ComicVine::Api

Gem Downloads Build Status Code Climate

A simple ComicVine API client for Ruby, inspired by the koala's gem style.

This gem contains several advantages over other API clients:

  • unlike with comic_vine gem, you can fetch series list
  • you can write own http service class which can use different gem than faraday
  • response is returned as pure Hash instead of mapping to different object
  • default http service class allows you to override http options like proxy settings.

Installation

Add this line to your application's Gemfile:

gem 'comic_vine-api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install comic_vine-api

Usage

api_key = 'foo'
options = {}
service = ComicVine::Api.new(api_key, **options)

There are two static methods:

  • search
service.search(...)
  • types
service.types

Rest of methods, for resources are creating dynamically. If API some method will change you can call #redefine_api_methods which recreate method from types API endpoint.

Gem provides also universal method which allows you to create custom call to API:

service.api_call(path, args, options)
  • path - append to http://comicvine.gamespot.com/api/
  • args - query params
  • options - options for http service class

Dynamic methods:

  • character(id, args)
  • characters(args)
  • chat(id, args)
  • chats(args)
  • concept(id, args)
  • concepts(args)
  • episode(id, args)
  • episodes(args)
  • issue(id, args)
  • issues(args)
  • location(id, args)
  • locations(args)
  • movie(id, args)
  • movies(args)
  • object(id, args)
  • objects(args)
  • origin(id, args)
  • origins(args)
  • person(id, args)
  • people(args)
  • power(id, args)
  • powers(args)
  • promo(id, args)
  • promos(args)
  • publisher(id, args)
  • publishers(args)
  • series(id, args)
  • series_list(args)
  • story_arc(id, args)
  • story_arcs(args)
  • team(id, args)
  • teams(args)
  • video(id, args)
  • videos(args)
  • video_type(id, args)
  • video_types(args)
  • video_category(id, args)
  • video_categories(args)
  • volume(id, args)
  • volumes(args)

Check official API docs what arguments you can use: http://comicvine.gamespot.com/api/documentation

Development

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/Krzysztof Wawer/comic_vine-api.

License

The gem is available as open source under the terms of the MIT License.