pokemon_tcg_sdk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ce7aff26d9b530cc93934f9f793e37588cbd30b2
4
+ data.tar.gz: f148c86c503d71998130880b5a952880de9f52dd
5
+ SHA512:
6
+ metadata.gz: 44602531b1ac8e472d321f441ef4a442b5136a345bac62672d720c7c1cde42d836b31e980311424800288efa71dd8eb4b58b7e0fe3ea6c2a56469f2984d095d2
7
+ data.tar.gz: f8e04b4b873b8ac3814e16a3306ddcd636d95abaff6846bc413cad0ef88a23f3584c2d7c9bbad41de4d4c0c5a1715b813d9283d77b7eb7cd769a0c7c2e67fb05
@@ -0,0 +1,25 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ test/fixtures
18
+ coverage
19
+ tmp
20
+ *.bundle
21
+ *.so
22
+ *.o
23
+ *.a
24
+ mkmf.log
25
+ .vscode
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.3.0
4
+ before_install: gem install bundler -v 1.11.2
@@ -0,0 +1,49 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, and in the interest of
4
+ fostering an open and welcoming community, we pledge to respect all people who
5
+ contribute through reporting issues, posting feature requests, updating
6
+ documentation, submitting pull requests or patches, and other activities.
7
+
8
+ We are committed to making participation in this project a harassment-free
9
+ experience for everyone, regardless of level of experience, gender, gender
10
+ identity and expression, sexual orientation, disability, personal appearance,
11
+ body size, race, ethnicity, age, religion, or nationality.
12
+
13
+ Examples of unacceptable behavior by participants include:
14
+
15
+ * The use of sexualized language or imagery
16
+ * Personal attacks
17
+ * Trolling or insulting/derogatory comments
18
+ * Public or private harassment
19
+ * Publishing other's private information, such as physical or electronic
20
+ addresses, without explicit permission
21
+ * Other unethical or unprofessional conduct
22
+
23
+ Project maintainers have the right and responsibility to remove, edit, or
24
+ reject comments, commits, code, wiki edits, issues, and other contributions
25
+ that are not aligned to this Code of Conduct, or to ban temporarily or
26
+ permanently any contributor for other behaviors that they deem inappropriate,
27
+ threatening, offensive, or harmful.
28
+
29
+ By adopting this Code of Conduct, project maintainers commit themselves to
30
+ fairly and consistently applying these principles to every aspect of managing
31
+ this project. Project maintainers who do not follow or enforce the Code of
32
+ Conduct may be permanently removed from the project team.
33
+
34
+ This code of conduct applies both within project spaces and in public spaces
35
+ when an individual is representing the project or its community.
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
+ reported by contacting a project maintainer at backes.andrew@gmail.com. All
39
+ complaints will be reviewed and investigated and will result in a response that
40
+ is deemed necessary and appropriate to the circumstances. Maintainers are
41
+ obligated to maintain confidentiality with regard to the reporter of an
42
+ incident.
43
+
44
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
45
+ version 1.3.0, available at
46
+ [http://contributor-covenant.org/version/1/3/0/][version]
47
+
48
+ [homepage]: http://contributor-covenant.org
49
+ [version]: http://contributor-covenant.org/version/1/3/0/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in pokemon_tcg_sdk.gemspec
4
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Andrew Backes
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,141 @@
1
+ # Pokémon TCG SDK
2
+
3
+ [![Build Status](https://travis-ci.org/PokemonTCG/pokemon-tcg-sdk-ruby.svg?branch=master)](https://travis-ci.org/PokemonTCG/pokemon-tcg-sdk-ruby)
4
+ [![Code Climate](https://codeclimate.com/github/PokemonTCG/pokemon-tcg-sdk-ruby/badges/gpa.svg)](https://codeclimate.com/github/PokemonTCG/pokemon-tcg-sdk-ruby)
5
+ [![Test Coverage](https://codeclimate.com/github/PokemonTCG/pokemon-tcg-sdk-ruby/badges/coverage.svg)](https://codeclimate.com/github/PokemonTCG/pokemon-tcg-sdk-ruby/coverage)
6
+
7
+ This is the Pokémon TCG SDK Ruby implementation. It is a wrapper around the Pokémon TCG API of [pokemontcg.io](http://pokemontcg.io/).
8
+
9
+ ## Installation
10
+
11
+ Add this line to your application's Gemfile:
12
+
13
+ gem 'pokemon_tcg_sdk'
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install pokemon_tcg_sdk
22
+
23
+ ## Usage
24
+
25
+ To change the API version (currently defaults to version 1)
26
+
27
+ Pokemon.configure do |config|
28
+ config.api_version = 2
29
+ end
30
+
31
+ ### Classes
32
+
33
+ Card
34
+ Set
35
+ Type
36
+ Supertype
37
+ Subtype
38
+ Ability
39
+ Attack
40
+ TypeValue
41
+
42
+ ### Properties Per Class
43
+
44
+ #### Card
45
+
46
+ id
47
+ name
48
+ image_url
49
+ subtype
50
+ supertype
51
+ ability
52
+ hp
53
+ number
54
+ artist
55
+ rarity
56
+ series
57
+ set
58
+ set_code
59
+ retreat_cost
60
+ text
61
+ types
62
+ attacks
63
+ weaknesses
64
+ resistances
65
+
66
+ #### Set
67
+
68
+ code
69
+ name
70
+ series
71
+ total_cards
72
+ standard_legal
73
+ release_date
74
+
75
+ #### Ability
76
+
77
+ name
78
+ text
79
+
80
+ #### Attack
81
+
82
+ cost
83
+ name
84
+ text
85
+ damage
86
+ converted_energy_cost
87
+
88
+ #### TypeValue
89
+
90
+ type
91
+ value
92
+
93
+ ### Functions Available
94
+
95
+ #### Find a card by id
96
+
97
+ card = Pokemon::Card.find('xy1-1')
98
+
99
+ #### Filter Cards via query parameters
100
+
101
+ cards = Pokemon::Card.where(set: 'generations').where(supertype: 'pokemon').all
102
+
103
+ #### Find all cards (will take awhile)
104
+
105
+ cards = Pokemon::Card.all
106
+
107
+ #### Get all cards, but only a specific page of data
108
+
109
+ cards = Pokemon::Card.where(page: 5).where(pageSize: 100).all
110
+
111
+ #### Find a set by code
112
+
113
+ set = Pokemon::Set.find('base1')
114
+
115
+ #### Filter sets via query parameters
116
+
117
+ sets = Pokemon::Set.where(standardLegal: true).all
118
+
119
+ #### Get all Sets
120
+
121
+ sets = Pokemon::Set.all
122
+
123
+ #### Get all Types
124
+
125
+ types = Pokemon::Type.all
126
+
127
+ #### Get all Subtypes
128
+
129
+ subtypes = Pokemon::Subtype.all
130
+
131
+ #### Get all Supertypes
132
+
133
+ supertypes = Pokemon::Supertype.all
134
+
135
+ ## Contributing
136
+
137
+ 1. Fork it ( https://github.com/[my-github-username]/pokemon-tcg-sdk-ruby/fork )
138
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
139
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
140
+ 4. Push to the branch (`git push origin my-new-feature`)
141
+ 5. Create a new Pull Request
@@ -0,0 +1,11 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rake/testtask'
3
+ require_relative 'lib/pokemon_tcg_sdk'
4
+
5
+ task :default => :test
6
+
7
+ Rake::TestTask.new do |t|
8
+ t.libs << "test"
9
+ t.test_files = FileList['test/*_test.rb']
10
+ t.verbose = true
11
+ end
@@ -0,0 +1,32 @@
1
+ require "pokemon_tcg_sdk/version"
2
+ require "pokemon_tcg_sdk/card"
3
+ require "pokemon_tcg_sdk/configuration"
4
+ require "pokemon_tcg_sdk/query_builder"
5
+ require "pokemon_tcg_sdk/rest_client"
6
+ require "pokemon_tcg_sdk/ability"
7
+ require "pokemon_tcg_sdk/attack"
8
+ require "pokemon_tcg_sdk/type_value"
9
+ require "pokemon_tcg_sdk/type"
10
+ require "pokemon_tcg_sdk/subtype"
11
+ require "pokemon_tcg_sdk/supertype"
12
+ require "pokemon_tcg_sdk/set"
13
+
14
+ module Pokemon
15
+ API_URL = 'https://api.pokemontcg.io'
16
+
17
+ class << self
18
+ attr_writer :configuration
19
+ end
20
+
21
+ def self.configuration
22
+ @configuration ||= Configuration.new
23
+ end
24
+
25
+ def self.configure
26
+ yield(configuration)
27
+ end
28
+
29
+ def self.reset
30
+ @configuration = Configuration.new
31
+ end
32
+ end
@@ -0,0 +1,10 @@
1
+ require_relative 'representers/ability_representer'
2
+
3
+ module Pokemon
4
+ class Ability
5
+ include Roar::JSON
6
+ include AbilityRepresenter
7
+
8
+ attr_accessor :name, :text
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require_relative 'representers/attack_representer'
2
+
3
+ module Pokemon
4
+ class Attack
5
+ include Roar::JSON
6
+ include AttackRepresenter
7
+
8
+ attr_accessor :cost, :name, :text, :damage, :converted_energy_cost
9
+ end
10
+ end
@@ -0,0 +1,42 @@
1
+ require_relative 'representers/card_representer'
2
+
3
+ module Pokemon
4
+ class Card
5
+ include Roar::JSON
6
+ include CardRepresenter
7
+
8
+ attr_accessor :id, :name, :image_url, :subtype, :supertype, :ability,
9
+ :hp, :number, :artist, :rarity, :series, :set, :set_code,
10
+ :retreat_cost, :text, :types, :attacks, :weaknesses, :resistances
11
+
12
+ # Get the resource string
13
+ #
14
+ # @return [String] The API resource string
15
+ def self.Resource
16
+ "cards"
17
+ end
18
+
19
+ # Find a single card by the card id
20
+ #
21
+ # @param id [String] the card id
22
+ # @return [Card] the Card object response
23
+ def self.find(id)
24
+ QueryBuilder.new(Card).find(id)
25
+ end
26
+
27
+ # Get all cards from a query by paging through data
28
+ #
29
+ # @return [Array<Card>] Array of Card objects
30
+ def self.all
31
+ QueryBuilder.new(Card).all
32
+ end
33
+
34
+ # Adds a parameter to the hash of query parameters
35
+ #
36
+ # @param args [Hash] the query parameter
37
+ # @return [QueryBuilder] the QueryBuilder
38
+ def self.where(args)
39
+ QueryBuilder.new(Card).where(args)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,9 @@
1
+ module Pokemon
2
+ class Configuration
3
+ attr_accessor :api_version
4
+
5
+ def initialize
6
+ @api_version = 1
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,68 @@
1
+ require_relative 'rest_client'
2
+
3
+ module Pokemon
4
+ class QueryBuilder
5
+ include RestClient
6
+ attr_accessor :type, :query
7
+
8
+ def initialize(type)
9
+ @type = type
10
+ @query = {}
11
+ end
12
+
13
+ # Adds a parameter to the hash of query parameters
14
+ #
15
+ # @param args [Hash] the query parameter
16
+ # @return [QueryBuilder] the QueryBuilder
17
+ def where(args)
18
+ @query.merge!(args)
19
+ self
20
+ end
21
+
22
+ # Find a single resource by the resource id
23
+ #
24
+ # @param id [String] the resource id
25
+ # @return [Object] the Type object response
26
+ def find(id)
27
+ response = RestClient.get("#{@type.Resource}/#{id}")
28
+ singular_resource = @type.Resource[0...-1]
29
+ if response.body[singular_resource].nil?
30
+ raise ArgumentError, 'Resource not found'
31
+ end
32
+
33
+ type.new.from_json(response.body[singular_resource].to_json)
34
+ end
35
+
36
+ # Get all resources from a query by paging through data
37
+ #
38
+ # @return [Array<Object>] Array of resources
39
+ def all
40
+ list = []
41
+ page = 1
42
+ fetch_all = true
43
+
44
+ if @query.has_key?(:page)
45
+ page = @query[:page]
46
+ fetch_all = false
47
+ end
48
+
49
+ while true
50
+ response = RestClient.get(@type.Resource, @query)
51
+ data = response.body[@type.Resource]
52
+ if !data.empty?
53
+ data.each {|item| list << @type.new.from_json(item.to_json)}
54
+
55
+ if !fetch_all
56
+ break
57
+ else
58
+ where(page: page += 1)
59
+ end
60
+ else
61
+ break
62
+ end
63
+ end
64
+
65
+ return list
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,10 @@
1
+ require 'roar/json'
2
+
3
+ module Pokemon
4
+ module AbilityRepresenter
5
+ include Roar::JSON
6
+
7
+ property :name
8
+ property :text
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ require 'roar/json'
2
+
3
+ module Pokemon
4
+ module AttackRepresenter
5
+ include Roar::JSON
6
+
7
+ collection :cost
8
+ property :name
9
+ property :text
10
+ property :damage
11
+ property :converted_energy_cost, as: :convertedEnergyCost
12
+ end
13
+ end
@@ -0,0 +1,34 @@
1
+ require 'roar/json'
2
+ require_relative 'attack_representer'
3
+ require_relative 'type_value_representer'
4
+ require_relative 'ability_representer'
5
+ require_relative '../attack'
6
+ require_relative '../type_value'
7
+ require_relative '../ability'
8
+
9
+ module Pokemon
10
+ module CardRepresenter
11
+ include Roar::JSON
12
+
13
+ property :id
14
+ property :name
15
+ property :image_url, as: :imageUrl
16
+ property :subtype
17
+ property :supertype
18
+ property :ability, extend: AbilityRepresenter, class: Ability
19
+ property :hp
20
+ property :number
21
+ property :artist
22
+ property :rarity
23
+ property :series
24
+ property :set
25
+ property :set_code, as: :setCode
26
+
27
+ collection :retreat_cost, as: :retreatCost
28
+ collection :text
29
+ collection :types
30
+ collection :attacks, extend: AttackRepresenter, class: Attack
31
+ collection :weaknesses, extend: TypeValueRepresenter, class: TypeValue
32
+ collection :resistances, extend: TypeValueRepresenter, class: TypeValue
33
+ end
34
+ end
@@ -0,0 +1,14 @@
1
+ require 'roar/json'
2
+
3
+ module Pokemon
4
+ module SetRepresenter
5
+ include Roar::JSON
6
+
7
+ property :code
8
+ property :name
9
+ property :series
10
+ property :total_cards, as: :totalCards
11
+ property :standard_legal, as: :standardLegal
12
+ property :release_date, as: :releaseDate
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ require 'roar/json'
2
+
3
+ module Pokemon
4
+ module TypeValueRepresenter
5
+ include Roar::JSON
6
+
7
+ property :type
8
+ property :value
9
+ end
10
+ end
@@ -0,0 +1,32 @@
1
+ require 'faraday'
2
+ require 'faraday_middleware'
3
+ require 'open-uri'
4
+
5
+ module Pokemon
6
+ module RestClient
7
+
8
+ def self.get(endpoint, params=nil)
9
+ if params.nil?
10
+ query = endpoint
11
+ else
12
+ query = "#{endpoint}?#{params_to_query(params)}"
13
+ end
14
+
15
+ client.get(query)
16
+ end
17
+
18
+ protected
19
+
20
+ def self.client
21
+ @client = Faraday.new "#{API_URL}/v#{Pokemon.configuration.api_version}" do |conn|
22
+ conn.response :xml, :content_type => /\bxml$/
23
+ conn.response :json, :content_type => /\bjson$/
24
+ conn.adapter Faraday.default_adapter
25
+ end
26
+ end
27
+
28
+ def self.params_to_query(params)
29
+ params.map {|p, v| "#{p}=#{URI.escape(v.to_s)}"}.join('&')
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,40 @@
1
+ require_relative 'representers/set_representer'
2
+
3
+ module Pokemon
4
+ class Set
5
+ include Roar::JSON
6
+ include SetRepresenter
7
+
8
+ attr_accessor :code, :name, :series, :total_cards, :standard_legal, :release_date
9
+
10
+ # Get the resource string
11
+ #
12
+ # @return [String] The API resource string
13
+ def self.Resource
14
+ "sets"
15
+ end
16
+
17
+ # Find a single set by the set code
18
+ #
19
+ # @param id [String] the set code
20
+ # @return [Set] the Set object response
21
+ def self.find(id)
22
+ QueryBuilder.new(Set).find(id)
23
+ end
24
+
25
+ # Get all sets from a query by paging through data
26
+ #
27
+ # @return [Array<Set>] Array of Set objects
28
+ def self.all
29
+ QueryBuilder.new(Set).all
30
+ end
31
+
32
+ # Adds a parameter to the hash of query parameters
33
+ #
34
+ # @param args [Hash] the query parameter
35
+ # @return [QueryBuilder] the QueryBuilder
36
+ def self.where(args)
37
+ QueryBuilder.new(Set).where(args)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,12 @@
1
+ module Pokemon
2
+ class Subtype
3
+ include RestClient
4
+
5
+ # Get all subtypes
6
+ #
7
+ # @return [Array<String>] All subtypes
8
+ def self.all
9
+ RestClient.get('subtypes').body['subtypes']
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module Pokemon
2
+ class Supertype
3
+ include RestClient
4
+
5
+ # Get all supertypes
6
+ #
7
+ # @return [Array<String>] All supertypes
8
+ def self.all
9
+ RestClient.get('supertypes').body['supertypes']
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module Pokemon
2
+ class Type
3
+ include RestClient
4
+
5
+ # Get all types
6
+ #
7
+ # @return [Array<String>] All types
8
+ def self.all
9
+ RestClient.get('types').body['types']
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ require_relative 'representers/type_value_representer'
2
+
3
+ module Pokemon
4
+ class TypeValue
5
+ include Roar::JSON
6
+ include TypeValueRepresenter
7
+
8
+ attr_accessor :type, :value
9
+ end
10
+ end
@@ -0,0 +1,3 @@
1
+ module Pokemon
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,34 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'pokemon_tcg_sdk/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "pokemon_tcg_sdk"
8
+ spec.version = Pokemon::VERSION
9
+ spec.authors = ["Andrew Backes"]
10
+ spec.email = ["backes.andrew@gmail.com"]
11
+ spec.summary = "Pokémon TCG SDK for pokemontcg.io"
12
+ spec.description = "Pokémon TCG SDK is a wrapper around the Pokémon TCG API located at pokemontcg.io"
13
+ spec.homepage = "https://pokemontcg.io"
14
+ spec.license = "MIT"
15
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
16
+ spec.bindir = "exe"
17
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_development_dependency "bundler", "~> 1.11"
21
+ spec.add_development_dependency "rake", "~> 10.0"
22
+ spec.add_development_dependency "minitest", "~> 5.0"
23
+ spec.add_development_dependency "vcr", "~> 3.0"
24
+ spec.add_development_dependency "webmock", "~> 1.24"
25
+ spec.add_development_dependency "simplecov", "~> 0.11"
26
+ spec.add_development_dependency "coveralls", "~> 0.8"
27
+ spec.add_development_dependency "codeclimate-test-reporter", "~> 0.5"
28
+
29
+ spec.add_dependency "roar", "~> 1.0"
30
+ spec.add_dependency "json", "~> 1.8"
31
+ spec.add_dependency "multi_json", "~> 1.11"
32
+ spec.add_dependency "multi_xml", "~> 0.5"
33
+ spec.add_dependency "faraday_middleware", "~> 0.10"
34
+ end
metadata ADDED
@@ -0,0 +1,252 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pokemon_tcg_sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Backes
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-04-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.11'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.24'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.24'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.11'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.11'
97
+ - !ruby/object:Gem::Dependency
98
+ name: coveralls
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.8'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.8'
111
+ - !ruby/object:Gem::Dependency
112
+ name: codeclimate-test-reporter
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.5'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.5'
125
+ - !ruby/object:Gem::Dependency
126
+ name: roar
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: json
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.8'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.8'
153
+ - !ruby/object:Gem::Dependency
154
+ name: multi_json
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '1.11'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '1.11'
167
+ - !ruby/object:Gem::Dependency
168
+ name: multi_xml
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.5'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.5'
181
+ - !ruby/object:Gem::Dependency
182
+ name: faraday_middleware
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '0.10'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '0.10'
195
+ description: Pokémon TCG SDK is a wrapper around the Pokémon TCG API located at pokemontcg.io
196
+ email:
197
+ - backes.andrew@gmail.com
198
+ executables: []
199
+ extensions: []
200
+ extra_rdoc_files: []
201
+ files:
202
+ - ".gitignore"
203
+ - ".travis.yml"
204
+ - CODE_OF_CONDUCT.md
205
+ - Gemfile
206
+ - LICENSE.txt
207
+ - README.md
208
+ - Rakefile
209
+ - lib/pokemon_tcg_sdk.rb
210
+ - lib/pokemon_tcg_sdk/ability.rb
211
+ - lib/pokemon_tcg_sdk/attack.rb
212
+ - lib/pokemon_tcg_sdk/card.rb
213
+ - lib/pokemon_tcg_sdk/configuration.rb
214
+ - lib/pokemon_tcg_sdk/query_builder.rb
215
+ - lib/pokemon_tcg_sdk/representers/ability_representer.rb
216
+ - lib/pokemon_tcg_sdk/representers/attack_representer.rb
217
+ - lib/pokemon_tcg_sdk/representers/card_representer.rb
218
+ - lib/pokemon_tcg_sdk/representers/set_representer.rb
219
+ - lib/pokemon_tcg_sdk/representers/type_value_representer.rb
220
+ - lib/pokemon_tcg_sdk/rest_client.rb
221
+ - lib/pokemon_tcg_sdk/set.rb
222
+ - lib/pokemon_tcg_sdk/subtype.rb
223
+ - lib/pokemon_tcg_sdk/supertype.rb
224
+ - lib/pokemon_tcg_sdk/type.rb
225
+ - lib/pokemon_tcg_sdk/type_value.rb
226
+ - lib/pokemon_tcg_sdk/version.rb
227
+ - pokemon_tcg_sdk.gemspec
228
+ homepage: https://pokemontcg.io
229
+ licenses:
230
+ - MIT
231
+ metadata: {}
232
+ post_install_message:
233
+ rdoc_options: []
234
+ require_paths:
235
+ - lib
236
+ required_ruby_version: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: '0'
241
+ required_rubygems_version: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ requirements: []
247
+ rubyforge_project:
248
+ rubygems_version: 2.5.1
249
+ signing_key:
250
+ specification_version: 4
251
+ summary: Pokémon TCG SDK for pokemontcg.io
252
+ test_files: []