bgg-api 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="utf-8"?><user id="39488" name="texasjdl" termsofuse="http://boardgamegeek.com/xmlapi/termsofuse">
2
+ <firstname value="Jeremiah" /> <lastname value="Lee" /> <avatarlink value="http://geekdo-images.com/avatars/avatar_id14507.jpg" /> <yearregistered value="2004" /> <lastlogin value="2012-08-15" /> <stateorprovince value="California" /> <country value="United States" /> <webaddress value="" /> <xboxaccount value="Solipsyst" /> <wiiaccount value="" /> <psnaccount value="" /> <battlenetaccount value="" /> <steamaccount value="" /> <traderating value="5" />
3
+ </user>
@@ -0,0 +1,63 @@
1
+ require 'rspec'
2
+ require 'bgg-api'
3
+ require 'webmock/rspec'
4
+
5
+ describe 'BGG Search' do
6
+
7
+ it 'some results come back' do
8
+ stub_request(:any, "http://www.boardgamegeek.com/xmlapi2/search").with(:query => {:query => 'Burgund', :type => 'boardgame'}).to_return(:body => File.new('sample_data/search?query=Burgund&type=boardgame'), :status => 200)
9
+
10
+ bgg = BggApi.new
11
+ results = bgg.search({:query => 'Burgund', :type => 'boardgame'})
12
+
13
+ results.should_not be_nil
14
+ end
15
+ end
16
+
17
+ describe 'BGG Thing' do
18
+ it 'searches for and returns a thing' do
19
+ stub_request(:any, "http://www.boardgamegeek.com/xmlapi2/thing").with(:query => {:id => '84876', :type => 'boardgame'}).to_return(:body => File.new('sample_data/thing?id=84876&type=boardgame'), :status => 200)
20
+
21
+ bgg = BggApi.new
22
+ results = bgg.thing({:id => '84876', :type => 'boardgame'})
23
+
24
+ results.should_not be_nil
25
+ results['item'][0]['id'].should == '84876'
26
+ end
27
+ end
28
+
29
+ describe 'BGG Collection' do
30
+ it 'retrieves a collection' do
31
+ stub_request(:any, "http://www.boardgamegeek.com/xmlapi2/collection").with(:query => {:own => '1', :name => 'texasjdl', :type => 'boardgame'}).to_return(:body => File.new('sample_data/collection?username=texasjdl&own=1&excludesubtype=boardgameexpansion'), :status => 200)
32
+
33
+ bgg = BggApi.new
34
+ results = bgg.collection({:name => 'texasjdl', :own => '1', :type => 'boardgame'})
35
+
36
+ results.should_not be_nil
37
+ results['item'][0]['objectid'].should == '421'
38
+ end
39
+ end
40
+
41
+ describe 'BGG Hot Items' do
42
+ it 'retrieves the current hot boardgames' do
43
+ stub_request(:any, "http://www.boardgamegeek.com/xmlapi2/hot").with(:query => {:type => 'boardgame'}).to_return(:body => File.new('sample_data/hot?type=boardgame'), :status => 200)
44
+
45
+ bgg = BggApi.new
46
+ results = bgg.hot({:type => 'boardgame'})
47
+
48
+ results.should_not be_nil
49
+ results['item'][0]['rank'].should == '1'
50
+ end
51
+ end
52
+
53
+ describe 'BGG Plays' do
54
+ it 'retrieves the plays for a user' do
55
+ stub_request(:any, "http://www.boardgamegeek.com/xmlapi2/plays").with(:query => {:id => '84876', :username => 'texasjdl'}).to_return(:body => File.new('sample_data/plays?username=texasjdl&id=84876'), :status => 200)
56
+
57
+ bgg = BggApi.new
58
+ results = bgg.plays({:id => '84876', :username => 'texasjdl'})
59
+
60
+ results.should_not be_nil
61
+ results['total'].should == '27'
62
+ end
63
+ end
@@ -0,0 +1,19 @@
1
+ require 'webmock/rspec'
2
+
3
+ # This file was generated by the `rspec --init` command. Conventionally, all
4
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
5
+ # Require this file using `require "spec_helper"` to ensure that it is only
6
+ # loaded once.
7
+ #
8
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
9
+ RSpec.configure do |config|
10
+ config.treat_symbols_as_metadata_keys_with_true_values = true
11
+ config.run_all_when_everything_filtered = true
12
+ config.filter_run :focus
13
+
14
+ # Run specs in random order to surface order dependencies. If you find an
15
+ # order dependency and want to debug it, you can fix the order by providing
16
+ # the seed, which is printed after each run.
17
+ # --seed 1234
18
+ config.order = 'random'
19
+ end
metadata ADDED
@@ -0,0 +1,166 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bgg-api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Brett Hardin
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httparty
16
+ requirement: &2155297900 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2155297900
25
+ - !ruby/object:Gem::Dependency
26
+ name: xml-simple
27
+ requirement: &2155297100 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *2155297100
36
+ - !ruby/object:Gem::Dependency
37
+ name: bundler
38
+ requirement: &2155296560 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 1.0.0
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2155296560
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: &2155295960 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *2155295960
58
+ - !ruby/object:Gem::Dependency
59
+ name: webmock
60
+ requirement: &2155295220 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *2155295220
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: &2155294520 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *2155294520
80
+ - !ruby/object:Gem::Dependency
81
+ name: rake
82
+ requirement: &2155293840 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *2155293840
91
+ - !ruby/object:Gem::Dependency
92
+ name: rcov
93
+ requirement: &2155293360 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *2155293360
102
+ - !ruby/object:Gem::Dependency
103
+ name: rdoc
104
+ requirement: &2155292880 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *2155292880
113
+ description: A gem to interact with the BGG API
114
+ email: hardin.brett@gmail.com
115
+ executables: []
116
+ extensions: []
117
+ extra_rdoc_files:
118
+ - LICENSE.txt
119
+ - README.md
120
+ files:
121
+ - .document
122
+ - .rspec
123
+ - Gemfile
124
+ - Gemfile.lock
125
+ - LICENSE.txt
126
+ - README.md
127
+ - Rakefile
128
+ - VERSION
129
+ - lib/bgg_api.rb
130
+ - sample_data/collection?username=texasjdl&own=1&excludesubtype=boardgameexpansion
131
+ - sample_data/hot?type=boardgame
132
+ - sample_data/plays?username=texasjdl&id=84876
133
+ - sample_data/search?query=Burgund&type=boardgame
134
+ - sample_data/thing?id=84876&type=boardgame
135
+ - sample_data/user?name=texasjdl
136
+ - spec/bgg_api_spec.rb
137
+ - spec/spec_helper.rb
138
+ homepage: http://github.com/bhardin/bgg-api
139
+ licenses:
140
+ - MIT
141
+ post_install_message:
142
+ rdoc_options: []
143
+ require_paths:
144
+ - lib
145
+ required_ruby_version: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ segments:
152
+ - 0
153
+ hash: -997643993582713169
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ requirements: []
161
+ rubyforge_project:
162
+ rubygems_version: 1.8.6
163
+ signing_key:
164
+ specification_version: 3
165
+ summary: boardgamegeek api gem
166
+ test_files: []