<commit_before>![EVEApi for ruby](https://github.com/aladac/eveapi/raw/master/doc/eveapi.png)

*EVE API for ruby*

[![Gem Version](https://badge.fury.io/rb/eveapi.svg)](http://badge.fury.io/rb/eveapi)
[![Build Status](https://secure.travis-ci.org/aladac/eveapi.svg?branch=master)](https://travis-ci.org/aladac/eveapi)
[![Code Climate](https://codeclimate.com/github/aladac/eveapi/badges/gpa.svg)](https://codeclimate.com/github/aladac/eveapi)
[![Test Coverage](https://codeclimate.com/github/aladac/eveapi/badges/coverage.svg)](https://codeclimate.com/github/aladac/eveapi/coverage)
[![Downloads](https://img.shields.io/gem/dt/eveapi.svg)](https://rubygems.org/gems/eveapi)
[![Latest Version Downloads](https://img.shields.io/gem/dtv/eveapi.svg)](https://rubygems.org/gems/eveapi)


## Disclaimer!
*This work in progress in a very early stage. Not documented. Only a couple of methods are tested.*

~~Most~~ working methods names can be listed by calling ~~`EVEApi::Client#api_methods`~~ `EVEApi::Client#working_methods`

Because of the way the paths are being built from the method names - some methods may look funky eq. `server_server_status`.

## Auto Methods
These methods are procedurally handled.

```ruby
def method_missing(name, *_args, &_block)
  fail 'Invalid Method Name' if check_path(name).empty?
  check_path(name)
  http = connection.get(path: check_path(name), query: params)
  request = EVEApi::Request.new(http)
  request.result
end
```

The ones listed below are known to work, provided the instance variables listed in the *Requires* column are supplied.

| Method Name   | Requires      |  Output Class             |
| ------------- | ------------- | ------------- |
| [account_api_key_info](https://github.com/aladac/eveapi/wiki/account_api_key_info) |  `key_id`, `vcode`  | `Hash` |
| [account_account_status](https://github.com/aladac/eveapi/wiki/account_account_status) | `key_id`, `vcode` | `Hash` |
| [account_characters](https://github.com/aladac/eveapi/wiki/account_characters) | `key_id`, `vcode` | `Array` |
| [server_server_status](https://github.com/aladac/eveapi/wiki/server_server_status) | - | `Hash` |
| [char_wallet_transactions](https://github.com/aladac/eveapi/wiki/char_wallet_transactions) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_wallet_journal](https://github.com/aladac/eveapi/wiki/char_wallet_journal) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_standings](https://github.com/aladac/eveapi/wiki/char_standings) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_skill_queue](https://github.com/aladac/eveapi/wiki/char_skill_queue) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_skill_in_training](https://github.com/aladac/eveapi/wiki/char_skill_in_training) | `key_id`, `vcode`, `character_id` | `Hash` |
| [char_research](https://github.com/aladac/eveapi/wiki/char_research) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_notifications](https://github.com/aladac/eveapi/wiki/char_notifications) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_medals](https://github.com/aladac/eveapi/wiki/char_medals) |  `key_id`, `vcode`, `character_id` | `Hash` |
| [char_market_orders](https://github.com/aladac/eveapi/wiki/char_market_orders)  | `key_id`, `vcode`, `character_id` | `Array` |
| [char_mail_messages](https://github.com/aladac/eveapi/wiki/char_mail_messages) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_mailing_lists](https://github.com/aladac/eveapi/wiki/char_mailing_lists) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_industry_jobs](https://github.com/aladac/eveapi/wiki/char_industry_jobs)  | `key_id`, `vcode`, `character_id` | `Array` |
| [char_contact_notifications](https://github.com/aladac/eveapi/wiki/char_contact_notifications)  | `key_id`, `vcode`, `character_id` | `Array` |
| [char_contact_list](https://github.com/aladac/eveapi/wiki/char_contact_list) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_character_sheet](https://github.com/aladac/eveapi/wiki/char_character_sheet) | `key_id`, `vcode`, `character_id` | `Hash` |
| [char_asset_list](https://github.com/aladac/eveapi/wiki/char_asset_list) | `key_id`, `vcode`, `character_id` | `Array` |
| [char_account_balance](https://github.com/aladac/eveapi/wiki/char_account_balance)  | `key_id`, `vcode`, `character_id` | `Array` |

## CREST
Rudimentary CREST support is added via the `EVEApi::Crest` class.
Working mehtods


```ruby
a = Crest.new.alliances.select { |a| a.name == "Goonswarm Federation" }.first
=> #<EVEApi::Alliance:0x007fd511c48248 ...>
a.to_h
=> {
          :href => "https://public-crest.eveonline.com/alliances/1354830081/",
        :id_str => "1354830081",
    :short_name => "CONDI",
          :name => "Goonswarm Federation",
            :id => 1354830081
}
a.info['url']
=> "http://www.goonfleet.com"
a.info.keys
=> [
    [ 0] "startDate",
    [ 1] "corporationsCount",<commit_msg>readme update<commit_after>![EVEApi for ruby](https://github.com/aladac/eveapi/raw/master/doc/eveapi.png)

*EVE API for ruby*

[![Gem Version](https://badge.fury.io/rb/eveapi.svg)](http://badge.fury.io/rb/eveapi)
[![Build Status](https://secure.travis-ci.org/aladac/eveapi.svg?branch=master)](https://travis-ci.org/aladac/eveapi)
[![Code Climate](https://codeclimate.com/github/aladac/eveapi/badges/gpa.svg)](https://codeclimate.com/github/aladac/eveapi)
[![Test Coverage](https://codeclimate.com/github/aladac/eveapi/badges/coverage.svg)](https://codeclimate.com/github/aladac/eveapi/coverage)
[![Downloads](https://img.shields.io/gem/dt/eveapi.svg)](https://rubygems.org/gems/eveapi)
[![Latest Version Downloads](https://img.shields.io/gem/dtv/eveapi.svg)](https://rubygems.org/gems/eveapi)


## General

Working methods names can be listed by calling `EVEApi::Client#working_methods`.

## Working methods

Check out [rubydoc.info](http://www.rubydoc.info/github/aladac/eveapi) for the documentation.

#### Client
- `EVEApi::Client.new`
- `EVEApi::Client#characters`
- `EVEApi::Client#server_status`
- `EVEApi::Client#call_list`
- `EVEApi::Client#working_methods`
- `EVEApi::Client#account_status`
- `EVEApi::Client#key_info`

#### Character

- `EVEApi::Character#wallet_journal`
- `EVEApi::Character#contracts`
- `EVEApi::Character#wallet_transactions`
- `EVEApi::Character#upcoming_calendar_events`
- `EVEApi::Character#standings`
- `EVEApi::Character#skill_queue`
- `EVEApi::Character#skill_in_training`
- `EVEApi::Character#research`
- `EVEApi::Character#notifications`
- `EVEApi::Character#medals`
- `EVEApi::Character#market_orders`
- `EVEApi::Character#mail_messages`
- `EVEApi::Character#mailing_lists`
- `EVEApi::Character#industry_jobs`
- `EVEApi::Character#contact_notifications`
- `EVEApi::Character#contact_list`
- `EVEApi::Character#character_sheet`
- `EVEApi::Character#asset_list`
- `EVEApi::Character#account_balance`

#### Crest
- `EVEApi::Crest.new`
- `EVEApi::Crest#allainces`
- `EVEApi::Crest#types`

#### Alliance
- `EVEApi::Alliance.find(id = nil)`
- `EVEApi::Alliance#info`
- `EVEApi::Alliance#corporations`
- `EVEApi::Alliance#to_h`

## CREST
Rudimentary CREST support is added via the `EVEApi::Crest` class.
Working mehtods


```ruby
a = Crest.new.alliances.select { |a| a.name == "Goonswarm Federation" }.first
=> #<EVEApi::Alliance:0x007fd511c48248 ...>
a.to_h
=> {
          :href => "https://public-crest.eveonline.com/alliances/1354830081/",
        :id_str => "1354830081",
    :short_name => "CONDI",
          :name => "Goonswarm Federation",
            :id => 1354830081
}
a.info['url']
=> "http://www.goonfleet.com"
a.info.keys
=> [
    [ 0] "startDate",
    [ 1] "corporationsCount",
{'fraction_non_alphanumeric': 0.189652914210871, 'fraction_numerical': 0.011525867714472823, 'mean_word_length': 5.3264291632145815, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 23, 'https://': 47, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '391386', 'n_tokens_mistral': 2975, 'n_tokens_neox': 2869, 'n_words': 375}