brickset-api 0.0.3

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: 3d4c2a7bddf282faae908bf4c2cef72a256680d7
4
+ data.tar.gz: 5ef20d4b687d72574c47daec25f8adf1387a8bc2
5
+ SHA512:
6
+ metadata.gz: 6c98ec71260dd7ce70192c2540ba297d304d71adaf8d77815d18a90c34d0725f5954833868906bcca2fa3510f4523e646e52343431370aff5af2da5c49a4be92
7
+ data.tar.gz: e941c7685e43334628a7338785a0be4aee9973c332b4d191798a74af5136333afa4a9b3e88896f6d64c22a410a11d6f1d27afc1da87cc71c75ba2afe6d06ea21
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ /.idea/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1 @@
1
+ brickset-api-ruby
@@ -0,0 +1 @@
1
+ ruby-2.3.0
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.3.0
5
+ before_install: gem install bundler -v 1.12.5
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in brickset-api.gemspec
4
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Ken Schultz
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,41 @@
1
+ # Brickset
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/brickset`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'brickset-api'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install brickset-api
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/brickset.
36
+
37
+
38
+ ## License
39
+
40
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
41
+
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'brickset'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ require 'pry'
11
+ # Pry.start
12
+
13
+ require 'irb'
14
+ IRB.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,37 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'brickset/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'brickset-api'
8
+ spec.version = Brickset::VERSION
9
+ spec.authors = ['schultzy51']
10
+ spec.email = ['schultzy51@gmail.com']
11
+
12
+ spec.summary = %q{Ruby wrapper for the Brickset.com v2 API}
13
+ # spec.description = %q{TBD}
14
+ spec.homepage = 'https://github.com/schultzy51/brickset-api-ruby'
15
+ spec.license = 'MIT'
16
+
17
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
19
+ if spec.respond_to?(:metadata)
20
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
21
+ else
22
+ raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
23
+ end
24
+
25
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
+ spec.bindir = 'exe'
27
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
+ spec.require_paths = ['lib']
29
+
30
+ spec.add_dependency 'savon', '~> 2.11'
31
+ spec.add_dependency 'activesupport', '~> 4', '>= 4'
32
+
33
+ spec.add_development_dependency 'bundler', '~> 1.12'
34
+ spec.add_development_dependency 'rake', '~> 10.0'
35
+ spec.add_development_dependency 'rspec', '~> 3.0'
36
+ spec.add_development_dependency 'pry', '~> 0', '>= 0.10'
37
+ end
@@ -0,0 +1,34 @@
1
+ require 'savon'
2
+ require 'active_support/core_ext/array'
3
+ require 'active_support/core_ext/string'
4
+
5
+ require 'brickset/version'
6
+ require 'brickset/configuration'
7
+
8
+ require 'brickset/api'
9
+
10
+ require 'brickset/collection_tools'
11
+ require 'brickset/instruction'
12
+ require 'brickset/minifig_collection'
13
+ require 'brickset/set'
14
+ require 'brickset/subtheme'
15
+ require 'brickset/theme'
16
+ require 'brickset/year'
17
+
18
+ module Brickset
19
+ class << self
20
+ attr_accessor :configuration
21
+ end
22
+
23
+ def self.configuration
24
+ @configuration ||= Configuration.new
25
+ end
26
+
27
+ def self.reset
28
+ @configuration = Configuration.new
29
+ end
30
+
31
+ def self.configure
32
+ yield(configuration)
33
+ end
34
+ end
@@ -0,0 +1,115 @@
1
+ module Brickset
2
+ class Api
3
+ def initialize
4
+ @client = Savon.client(wsdl: Brickset.configuration.wsdl_url, convert_request_keys_to: :none)
5
+ @api_key = Brickset.configuration.api_key
6
+ end
7
+
8
+ def operations
9
+ @client.operations
10
+ end
11
+
12
+ def themes
13
+ response = call_api(:get_themes)
14
+ Array.wrap(response.body.dig(:get_themes_response, :get_themes_result, :themes))
15
+ end
16
+
17
+ def subthemes(theme)
18
+ response = call_api(:get_subthemes, options: {theme: theme})
19
+ Array.wrap(response.body.dig(:get_subthemes_response, :get_subthemes_result, :subthemes))
20
+ end
21
+
22
+ def years(theme)
23
+ response = call_api(:get_years, options: {theme: theme})
24
+ Array.wrap(response.body.dig(:get_years_response, :get_years_result, :years))
25
+ end
26
+
27
+ def recently_updated(minutes_ago)
28
+ response = call_api(:get_recently_updated_sets, options: {minutesAgo: minutes_ago})
29
+ Array.wrap(response.body.dig(:get_recently_updated_sets_response, :get_recently_updated_sets_result, :sets))
30
+ end
31
+
32
+ def sets(user_hash: '',
33
+ query: '',
34
+ theme: '',
35
+ subtheme: '',
36
+ set_number: '',
37
+ year: '',
38
+ owned: '',
39
+ wanted: '',
40
+ order_by: '',
41
+ page_size: '',
42
+ page_number: '',
43
+ user_name: '')
44
+ # although the docs say the parameters are optional they must all be there
45
+ options = {
46
+ userHash: user_hash,
47
+ query: query,
48
+ theme: theme,
49
+ subtheme: subtheme,
50
+ setNumber: set_number,
51
+ year: year,
52
+ owned: owned,
53
+ wanted: wanted,
54
+ orderBy: order_by,
55
+ pageSize: page_size,
56
+ pageNumber: page_number,
57
+ userName: user_name
58
+ }
59
+
60
+ response = call_api(:get_sets, options: options)
61
+ Array.wrap(response.body.dig(:get_sets_response, :get_sets_result, :sets))
62
+ end
63
+
64
+ def set(id, user_hash: '')
65
+ response = call_api(:get_set, options: {userHash: user_hash, SetID: id})
66
+ response.body.dig(:get_set_response, :get_set_result, :sets)
67
+ end
68
+
69
+ def check_key
70
+ response = call_api(:check_key)
71
+ response.body.dig(:check_key_response, :check_key_result) == 'OK'
72
+ end
73
+
74
+ def login(username, password)
75
+ response = call_api(:login, options: {username: username, password: password})
76
+ response.body.dig(:login_response, :login_result)
77
+ end
78
+
79
+ def instructions(id)
80
+ response = call_api(:get_instructions, options: {setID: id})
81
+ Array.wrap(response.body.dig(:get_instructions_response, :get_instructions_result, :instructions))
82
+ end
83
+
84
+ def collection_totals(user_hash)
85
+ response = call_api(:get_collection_totals, options: {userHash: user_hash})
86
+ Array.wrap(response.body.dig(:get_collection_totals_response, :get_collection_totals_result))
87
+ end
88
+
89
+ def minifig_collection(user_hash, query: '', owned: '', wanted: '')
90
+ response = call_api(:get_minifig_collection, options: {userHash: user_hash, query: query, owned: owned, wanted: wanted})
91
+ Array.wrap(response.body.dig(:get_minifig_collection_response, :get_minifig_collection_result, :minifig_collection))
92
+ end
93
+
94
+ def themes_for_user(user_hash, owned: '', wanted: '')
95
+ response = call_api(:get_themes_for_user, options: {userHash: user_hash, owned: owned, wanted: wanted})
96
+ Array.wrap(response.body.dig(:get_themes_for_user_response, :get_themes_for_user_result, :themes))
97
+ end
98
+
99
+ def subthemes_for_user(user_hash, theme, owned: '', wanted: '')
100
+ response = call_api(:get_subthemes_for_user, options: {userHash: user_hash, theme: theme, owned: owned, wanted: wanted})
101
+ Array.wrap(response.body.dig(:get_subthemes_for_user_response, :get_subthemes_for_user_result, :subthemes))
102
+ end
103
+
104
+ def years_for_user(user_hash, theme, owned: '', wanted: '')
105
+ response = call_api(:get_years_for_user, options: {userHash: user_hash, theme: theme, owned: owned, wanted: wanted})
106
+ Array.wrap(response.body.dig(:get_years_for_user_response, :get_years_for_user_result, :years))
107
+ end
108
+
109
+ private
110
+
111
+ def call_api(method, options: {})
112
+ @client.call(method, message: options.merge(apiKey: @api_key))
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,17 @@
1
+ module Brickset
2
+ class CollectionTotals
3
+ attr_accessor :total_sets_owned, :total_distinct_sets_owned, :total_sets_wanted, :total_minifigs_owned, :total_minifigs_wanted
4
+ # totalSetsOwned Integer
5
+ # totalDistinctSetsOwned Integer
6
+ # totalSetsWanted Integer
7
+ # totalMinifigsOwned Integer
8
+ # totalMinifigsWanted Integer
9
+ def initialize(data)
10
+ @total_sets_owned = data.dig(:total_sets_owned)
11
+ @total_distinct_sets_owned = data.dig(:total_distinct_sets_owned)
12
+ @total_sets_wanted = data.dig(:total_sets_wanted)
13
+ @total_minifigs_owned = data.dig(:total_minifigs_owned)
14
+ @total_minifigs_wanted = data.dig(:total_minifigs_wanted)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,10 @@
1
+ class Configuration
2
+ attr_accessor :api_key, :wsdl_url
3
+
4
+ DEFAULT_WSDL_URL = 'http://brickset.com/api/v2.asmx?WSDL'
5
+
6
+ def initialize
7
+ @api_key = nil
8
+ @wsdl_url = DEFAULT_WSDL_URL
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module Brickset
2
+ class Instruction
3
+ attr_accessor :url, :description
4
+ # URL String
5
+ # description String
6
+ def initialize(data)
7
+ @url = data.dig(:url)
8
+ @description = data.dig(:description)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ module Brickset
2
+ class MinifigCollection
3
+ attr_accessor :minifig_number, :owned_in_sets, :owned_loose, :owned_total, :wanted
4
+ # minifigNumber String
5
+ # ownedInSets Integer
6
+ # ownedLoose Integer
7
+ # ownedTotal Integer
8
+ # wanted Boolean
9
+ def initialize(data)
10
+ @minifig_number = data.dig(:minifig_number)
11
+ @owned_in_sets = data.dig(:owned_in_sets)
12
+ @owned_loose = data.dig(:owned_loose)
13
+ @owned_total = data.dig(:owned_total)
14
+ @wanted = data.dig(:wanted)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,93 @@
1
+ module Brickset
2
+ class Set
3
+ attr_accessor :id, :number, :number_variant, :name, :year, :theme, :theme_group, :subtheme, :pieces, :minifigs,
4
+ :image, :image_filename, :thumbnail_url, :large_thumbnail_url, :image_url, :brickset_url, :released,
5
+ :owned, :wanted, :qty_owned, :acm_data_count, :owned_by_total, :wanted_by_total, :uk_retail_price,
6
+ :us_retail_price, :ca_retail_price, :eu_retail_price, :us_date_added_to_sah,
7
+ :us_date_removed_from_sah, :rating, :review_count, :packaging_type, :availability,
8
+ :instructions_count, :additional_image_count, :ean, :upc, :last_updated
9
+ # setID Integer Unique database primary key
10
+ # number String e.g. 6876
11
+ # numberVariant Integer e.g. 1
12
+ # name String
13
+ # year String
14
+ # theme String
15
+ # themeGroup String As used on http://brickset.com/browse/sets
16
+ # subtheme String
17
+ # pieces String Integer, or null if pieces not known.
18
+ # minifigs String Integer, or null if no minifigs or not known.
19
+ # image Boolean
20
+ # imageFilename String Returned only if an image is available (image=true)
21
+ # thumbnailURL String Returned only if an image is available (image=true). Max dimensions 96x72.
22
+ # largeThumbnailURL String Returned only if an image is available (image=true). Max dimensions 240x180.
23
+ # imageURL String Returned only if an image is available (image=true). Max dimensions 690x690.
24
+ # bricksetURL String URL of set details page at Brickset.com
25
+ # released Boolean
26
+ # owned Boolean Returned only if userHash or userName is passed to method
27
+ # wanted Boolean Returned only if userHash or userName is passed to method
28
+ # qtyOwned Integer Returned only if userHash or userName is passed to method
29
+ # ACMDataCount Integer Number of ACM records user has modified for this set
30
+ # userNotes String Returned only if userHash or userName is passed to method
31
+ # ownedByTotal Integer Number of people who own this set
32
+ # wantedByTotal Integer Number of people who want this set
33
+ # UKRetailPrice String
34
+ # USRetailPrice String
35
+ # CARetailPrice String
36
+ # EURetailPrice String
37
+ # USDateAddedToSAH String The date the set was first sold as shop.LEGO.com in the USA
38
+ # USDateRemovedFromSAH String The date the set was last sold as shop.LEGO.com in the USA. If USDateAddedToSAH is not blank but this is, it's still available.
39
+ # rating Decimal
40
+ # reviewCount Integer
41
+ # packagingType String
42
+ # availability String
43
+ # instructionsCount Integer
44
+ # additionalImageCount Integer
45
+ # EAN String
46
+ # UPC String
47
+ # description String Returned only with call to getSet
48
+ # lastUpdated Date
49
+
50
+ def initialize(data)
51
+ @id = data.dig(:set_id).to_i
52
+ @number = data.dig(:number)
53
+ @number_variant = data.dig(:number_variant).to_i
54
+ @name = data.dig(:name)
55
+ @year = data.dig(:year)
56
+ @theme = data.dig(:theme)
57
+ @theme_group = data.dig(:theme_group)
58
+ @subtheme = data.dig(:subtheme)
59
+ @pieces = data.dig(:pieces)
60
+ @minifigs = data.dig(:minifigs)
61
+ @image = data.dig(:image)
62
+ @image_filename = data.dig(:image_filename)
63
+ @thumbnail_url = data.dig(:thumbnail_url)
64
+ @large_thumbnail_url = data.dig(:large_thumbnail_url)
65
+ @image_url = data.dig(:image_url)
66
+ @brickset_url = data.dig(:brickset_url)
67
+ @released = data.dig(:released)
68
+ @owned = data.dig(:owned)
69
+ @wanted = data.dig(:wanted)
70
+ @qty_owned = data.dig(:qty_owned)
71
+ @acm_data_count = data.dig(:acm_data_count).to_i
72
+ @user_notes = data.dig(:user_notes)
73
+ @owned_by_total = data.dig(:owned_by_total).to_i
74
+ @wanted_by_total = data.dig(:wanted_by_total).to_i
75
+ @uk_retail_price = data.dig(:uk_retail_price)
76
+ @us_retail_price = data.dig(:us_retail_price)
77
+ @ca_retail_price = data.dig(:ca_retail_price)
78
+ @eu_retail_price = data.dig(:eu_retail_price)
79
+ @us_date_added_to_sah = data.dig(:us_date_added_to_sah)
80
+ @us_date_removed_from_sah = data.dig(:us_date_removed_from_sah)
81
+ @rating = data.dig(:rating)
82
+ @review_count = data.dig(:review_count).to_i
83
+ @packaging_type = data.dig(:packaging_type)
84
+ @availability = data.dig(:availability)
85
+ @instructions_count = data.dig(:instructions_count).to_i
86
+ @additional_image_count = data.dig(:additional_image_count).to_i
87
+ @ean = data.dig(:ean)
88
+ @upc = data.dig(:upc)
89
+ @description = data.dig(:description)
90
+ @last_updated = data.dig(:last_updated)
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,17 @@
1
+ module Brickset
2
+ class Subtheme
3
+ attr_accessor :theme, :name, :set_count, :year_from, :year_to
4
+ # theme String
5
+ # subtheme String
6
+ # setCount Integer
7
+ # yearFrom Integer Populated by getSubthemes method only
8
+ # yearTo Integer Populated by getSubthemes method only
9
+ def initialize(data)
10
+ @theme = data.dig(:theme)
11
+ @name = data.dig(:subtheme)
12
+ @set_count = data.dig(:set_count).to_i
13
+ @year_from = data.dig(:year_from).to_i
14
+ @year_to = data.dig(:year_to).to_i
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Brickset
2
+ class Theme
3
+ attr_accessor :name, :set_count, :subtheme_count, :year_from, :year_to
4
+ # theme String
5
+ # setCount Integer
6
+ # subthemeCount Integer Populated by getThemes method only
7
+ # yearFrom Integer Populated by getThemes method only
8
+ # yearTo Integer Populated by getThemes method only
9
+ def initialize(data)
10
+ @name = data.dig(:theme)
11
+ @set_count = data.dig(:set_count).to_i
12
+ @subtheme_count = data.dig(:subtheme_count).to_i
13
+ @year_from = data.dig(:year_from).to_i
14
+ @year_to = data.dig(:year_to).to_i
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,3 @@
1
+ module Brickset
2
+ VERSION = '0.0.3'
3
+ end
@@ -0,0 +1,13 @@
1
+ module Brickset
2
+ class Year
3
+ attr_accessor :theme, :year, :set_count
4
+ # theme String
5
+ # year String
6
+ # setCount Integer
7
+ def initialize(data)
8
+ @theme = data.dig(:theme)
9
+ @year = data.dig(:year)
10
+ @set_count = data.dig(:set_count).to_i
11
+ end
12
+ end
13
+ end
metadata ADDED
@@ -0,0 +1,164 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brickset-api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - schultzy51
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-09-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: savon
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.11'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '4'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '4'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '4'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '4'
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.12'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.12'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '10.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '10.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: pry
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0.10'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0.10'
109
+ description:
110
+ email:
111
+ - schultzy51@gmail.com
112
+ executables: []
113
+ extensions: []
114
+ extra_rdoc_files: []
115
+ files:
116
+ - ".gitignore"
117
+ - ".rspec"
118
+ - ".ruby-gemset"
119
+ - ".ruby-version"
120
+ - ".travis.yml"
121
+ - Gemfile
122
+ - LICENSE.txt
123
+ - README.md
124
+ - Rakefile
125
+ - bin/console
126
+ - bin/setup
127
+ - brickset-api.gemspec
128
+ - lib/brickset.rb
129
+ - lib/brickset/api.rb
130
+ - lib/brickset/collection_tools.rb
131
+ - lib/brickset/configuration.rb
132
+ - lib/brickset/instruction.rb
133
+ - lib/brickset/minifig_collection.rb
134
+ - lib/brickset/set.rb
135
+ - lib/brickset/subtheme.rb
136
+ - lib/brickset/theme.rb
137
+ - lib/brickset/version.rb
138
+ - lib/brickset/year.rb
139
+ homepage: https://github.com/schultzy51/brickset-api-ruby
140
+ licenses:
141
+ - MIT
142
+ metadata:
143
+ allowed_push_host: https://rubygems.org
144
+ post_install_message:
145
+ rdoc_options: []
146
+ require_paths:
147
+ - lib
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ required_rubygems_version: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ requirements: []
159
+ rubyforge_project:
160
+ rubygems_version: 2.5.1
161
+ signing_key:
162
+ specification_version: 4
163
+ summary: Ruby wrapper for the Brickset.com v2 API
164
+ test_files: []