bnet_scraper 0.1.0 → 0.1.1

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.
@@ -1,11 +1,16 @@
1
1
  # Changelog!
2
2
 
3
+ ## 0.1.1 (Jul 20 2012)
4
+
5
+ * Adds BnetScraper::Starcraft2.valid\_profile?
6
+ * Adds BnetScraper::Starcraft2::BaseScraper#valid?
7
+
3
8
  ## 0.1.0 (Jul 06 2012)
4
9
 
5
10
  * Replaces open-uri with Faraday
6
11
  * Adds BnetScraper::InvalidProfileError when unsuccessfully scraping
7
12
 
8
- ## 0.2.0 (Apr 20 2012)
13
+ ## 0.0.2 (Apr 20 2012)
9
14
 
10
15
  * Adds Battle.net Status API
11
16
  * Adds Match History scraping
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "bnet_scraper"
6
- s.version = "0.1.0"
6
+ s.version = "0.1.1"
7
7
  s.authors = ["Andrew Nordman"]
8
8
  s.email = ["anordman@majorleaguegaming.com"]
9
9
  s.homepage = "https://github.com/agoragames/bnet_scraper/"
@@ -43,5 +43,15 @@ module BnetScraper
43
43
  profile_output[:leagues] = parsed_leagues
44
44
  return profile_output
45
45
  end
46
+
47
+ # Determine if Supplied profile is valid. Useful for validating now before an
48
+ # async scraping later
49
+ #
50
+ # @param [Hash] options - account information hash
51
+ # @return [TrueClass, FalseClass] valid - whether account is valid
52
+ def self.valid_profile? options
53
+ scraper = BaseScraper.new(options)
54
+ scraper.valid?
55
+ end
46
56
  end
47
57
  end
@@ -61,6 +61,11 @@ module BnetScraper
61
61
  REGIONS[region]
62
62
  end
63
63
 
64
+ def valid?
65
+ result = Faraday.get profile_url
66
+ result.success?
67
+ end
68
+
64
69
  def scrape
65
70
  raise NotImplementedError, "Abstract method #scrape called."
66
71
  end
@@ -29,4 +29,16 @@ describe BnetScraper::Starcraft2 do
29
29
  actual.should == expected
30
30
  end
31
31
  end
32
+
33
+ describe '#valid_profile?' do
34
+ it 'should return true on valid profile' do
35
+ result = BnetScraper::Starcraft2.valid_profile? url: 'http://us.battle.net/sc2/en/profile/2377239/1/Demon/'
36
+ result.should be_true
37
+ end
38
+
39
+ it 'should return false on invalid profile' do
40
+ result = BnetScraper::Starcraft2.valid_profile? url: 'http://us.battle.net/sc2/en/profile/2377239/1/SomeDude/'
41
+ result.should be_false
42
+ end
43
+ end
32
44
  end
@@ -69,4 +69,18 @@ shared_examples 'an SC2 Scraper' do
69
69
  subject.profile_url(2).should == 'http://us.battle.net/sc2/en/profile/2377239/2/Demon/'
70
70
  end
71
71
  end
72
+
73
+ describe '#valid?' do
74
+ it 'should return true when profile is valid' do
75
+ result = subject.valid?
76
+ result.should be_true
77
+ end
78
+
79
+ it 'should return false when profile is invalid' do
80
+ scraper = scraper_class.new(url: 'http://us.battle.net/sc2/en/profile/2377239/1/SomeDude/')
81
+
82
+ result = scraper.valid?
83
+ result.should be_false
84
+ end
85
+ end
72
86
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bnet_scraper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-06 00:00:00.000000000 Z
12
+ date: 2012-07-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &70185550262400 !ruby/object:Gem::Requirement
16
+ requirement: &70293725815740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70185550262400
24
+ version_requirements: *70293725815740
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: faraday
27
- requirement: &70185550260120 !ruby/object:Gem::Requirement
27
+ requirement: &70293725814020 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70185550260120
35
+ version_requirements: *70293725814020
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70185550258180 !ruby/object:Gem::Requirement
38
+ requirement: &70293725811160 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70185550258180
46
+ version_requirements: *70293725811160
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70185550256120 !ruby/object:Gem::Requirement
49
+ requirement: &70293725810060 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70185550256120
57
+ version_requirements: *70293725810060
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: fakeweb
60
- requirement: &70185550254960 !ruby/object:Gem::Requirement
60
+ requirement: &70293725809160 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70185550254960
68
+ version_requirements: *70293725809160
69
69
  description: BnetScraper is a Nokogiri-based scraper of Battle.net profile information.
70
70
  Currently this only includes Starcraft2.
71
71
  email:
@@ -123,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  segments:
125
125
  - 0
126
- hash: 2368035120879927355
126
+ hash: -3598619237861555202
127
127
  required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
@@ -132,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
132
  version: '0'
133
133
  segments:
134
134
  - 0
135
- hash: 2368035120879927355
135
+ hash: -3598619237861555202
136
136
  requirements: []
137
137
  rubyforge_project:
138
138
  rubygems_version: 1.8.17