pokemon_tcg_sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: []