https://github.com/rubyonworld/mtg-sdk-ruby
Magic: The Gathering SDK
https://github.com/rubyonworld/mtg-sdk-ruby
magic rails ruby sdk
Last synced: 2 months ago
JSON representation
Magic: The Gathering SDK
- Host: GitHub
- URL: https://github.com/rubyonworld/mtg-sdk-ruby
- Owner: RubyOnWorld
- License: mit
- Created: 2022-09-27T15:30:00.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-28T01:10:11.000Z (almost 4 years ago)
- Last Synced: 2025-05-19T20:32:44.901Z (about 1 year ago)
- Topics: magic, rails, ruby, sdk
- Language: Ruby
- Homepage:
- Size: 85 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Magic: The Gathering SDK
[](https://discord.gg/qwGJNnP)
[](https://badge.fury.io/rb/mtg_sdk)
[](https://travis-ci.org/MagicTheGathering/mtg-sdk-ruby)
[](https://gemnasium.com/MagicTheGathering/mtg-sdk-ruby)
[](https://codeclimate.com/github/MagicTheGathering/mtg-sdk-ruby)
[](https://codeclimate.com/github/MagicTheGathering/mtg-sdk-ruby/coverage)
This is the Magic: The Gathering SDK Ruby implementation. It is a wrapper around the MTG API of [magicthegathering.io](http://magicthegathering.io/).
## Installation
Add this line to your application's Gemfile:
gem 'mtg_sdk'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mtg_sdk
## Usage
To change the API version (currently defaults to version 1)
MTG.configure do |config|
config.api_version = 2
end
### Classes
Card
Set
ForeignName
Ruling
Legality
Subtype
Supertype
Type
Changelog
### Properties Per Class
#### Card
name
multiverse_id
layout
names
mana_cost
cmc
colors
color_identity
type
supertypes
subtypes
rarity
text
flavor
artist
number
power
toughness
loyalty
variations
watermark
border
timeshifted
hand
life
reserved
release_date
starter
rulings
foreign_names
printings
original_text
original_type
legalities
source
image_url
set
set_name
id
#### Set
code
name
gatherer_code
old_code
magic_cards_info_code
release_date
border
type
block
online_only
booster
mkm_id
mkm_name
#### ForeignName
language
name
multiverse_id
#### Ruling
date
text
#### Legality
format
legality
#### Changelog
version
release_date
details
### Functions Available
#### Find a card by multiverse id
card = MTG::Card.find(386616)
#### Filter Cards via query parameters
cards = MTG::Card.where(set: 'ktk').where(subtypes: 'warrior,human').all
#### Find all cards (will take awhile)
cards = MTG::Card.all
#### Get all cards, but only a specific page of data
cards = MTG::Card.where(page: 5).where(pageSize: 100).all
#### Find a set by code
set = MTG::Set.find('ktk')
#### Filter sets via query parameters
sets = MTG::Set.where(name: 'khans').all
#### Get all Sets
sets = MTG::Set.all
#### Get all Types
types = MTG::Type.all
#### Get all Subtypes
subtypes = MTG::Subtype.all
#### Get all Supertypes
supertypes = MTG::Supertype.all
## Contributing
1. Fork it ( https://github.com/[my-github-username]/mtg-sdk-ruby/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request