Project

mtg_sdk

0.04
No release in over 3 years
Low commit activity in last 3 years
There's a lot of open issues
Magic: The Gathering SDK is a wrapper around the MTG API located at magicthegathering.io
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.12
~> 0.8
~> 5.9
~> 11.2
~> 0.12
~> 3.0
~> 2.1

Runtime

~> 2.0
~> 1.12
~> 0.5
~> 1.0
~> 1.0
 Project Readme

Magic: The Gathering SDK

mtg-developers on discord Gem Version Build Status Dependency Status Code Climate Test Coverage

This is the Magic: The Gathering SDK Ruby implementation. It is a wrapper around the MTG API of 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