steamprofile 0.0.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.
- data/Manifest +4 -0
- data/README.rdoc +0 -0
- data/Rakefile +15 -0
- data/lib/steamprofile.rb +67 -0
- data/steamprofile.gemspec +33 -0
- metadata +74 -0
data/Manifest
ADDED
data/README.rdoc
ADDED
File without changes
|
data/Rakefile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
require 'echoe'
|
4
|
+
|
5
|
+
Echoe.new('steamprofile','0.0.1') do |p|
|
6
|
+
p.description = "Loads a given steam profile in ruby"
|
7
|
+
p.url = "http://www.arcath.net"
|
8
|
+
p.author = "Adam \"Arcath\" Laycock"
|
9
|
+
p.email = "adam@arcath.net"
|
10
|
+
p.ignore_pattern= ["tmp/*", "script/*"]
|
11
|
+
p.development_dependencies = []
|
12
|
+
p.runtime_dependencies = ["nokogiri >=1.4.0"]
|
13
|
+
end
|
14
|
+
|
15
|
+
Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
|
data/lib/steamprofile.rb
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'nokogiri'
|
3
|
+
require 'open-uri'
|
4
|
+
|
5
|
+
class SteamProfile
|
6
|
+
def initialize(config)
|
7
|
+
#Set caching to false unless specified
|
8
|
+
config[:cache] ||= false
|
9
|
+
#Make sure the profile url has been supplied and is valid
|
10
|
+
unless config[:profile_url]
|
11
|
+
config[:error] = "No Profile URL Specified"
|
12
|
+
else
|
13
|
+
unless config[:profile_url] =~ /^http:\/\/steamcommunity\.com\/[id|profiles]/ then
|
14
|
+
config[:error] = "Mal-Formed Profile URL"
|
15
|
+
else
|
16
|
+
config[:xml_url] = config[:profile_url] + "?xml=1"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
#Instanize the config array
|
20
|
+
@config=config
|
21
|
+
#Load Up Nokogiri
|
22
|
+
unless config[:error]
|
23
|
+
@nokogiri=Nokogiri::XML::Reader(open(config[:xml_url]))
|
24
|
+
end
|
25
|
+
self.nokogiri
|
26
|
+
end
|
27
|
+
|
28
|
+
def field
|
29
|
+
return @fields
|
30
|
+
end
|
31
|
+
|
32
|
+
def nokogiri
|
33
|
+
@fields={}
|
34
|
+
@fields[:game]=[]
|
35
|
+
@fields[:game_hours_played]=[]
|
36
|
+
gi=0
|
37
|
+
ghpi=0
|
38
|
+
@nokogiri.each do |node|
|
39
|
+
if node.name == "steamID" then
|
40
|
+
@fields[:name] ||= self.stripcdata(node.inner_xml)
|
41
|
+
elsif node.name == "gameName" then
|
42
|
+
if gi != 3 && node.inner_xml != "" then
|
43
|
+
@fields[:game][gi] ||= self.stripcdata(node.inner_xml)
|
44
|
+
gi+=1
|
45
|
+
end
|
46
|
+
elsif node.name == "hoursPlayed" then
|
47
|
+
if ghpi != 3 && node.inner_xml != "" then
|
48
|
+
@fields[:game_hours_played][ghpi] ||= node.inner_xml
|
49
|
+
ghpi+=1
|
50
|
+
end
|
51
|
+
elsif node.name == "onlineState" then
|
52
|
+
@fields[:online_state] ||= node.inner_xml
|
53
|
+
elsif node.name == "stateMessage" then
|
54
|
+
@fields[:state_message] ||= self.stripcdata(node.inner_xml)
|
55
|
+
elsif node.name == "avatarIcon" then
|
56
|
+
@fields[:avatar] ||= self.stripcdata(node.inner_xml)
|
57
|
+
@fields[:avatar_med] ||= @fields[:avatar].gsub(/\.jpg/,"_medium.jpg")
|
58
|
+
@fields[:avatar_full] ||= @fields[:avatar].gsub(/\.jpg/,"_full.jpg")
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
def stripcdata(s)
|
63
|
+
s.scan(/<!\[CDATA\[(.*?)\]\]>/).join
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
#s=SteamProfile.new(:profile_url => "http://steamcommunity.com/profiles/76561197990531359")
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{steamprofile}
|
5
|
+
s.version = "0.0.1"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Adam \"Arcath\" Laycock"]
|
9
|
+
s.date = %q{2009-12-11}
|
10
|
+
s.description = %q{Loads a given steam profile in ruby}
|
11
|
+
s.email = %q{adam@arcath.net}
|
12
|
+
s.extra_rdoc_files = ["README.rdoc", "lib/steamprofile.rb"]
|
13
|
+
s.files = ["README.rdoc", "Rakefile", "lib/steamprofile.rb", "Manifest", "steamprofile.gemspec"]
|
14
|
+
s.homepage = %q{http://www.arcath.net}
|
15
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Steamprofile", "--main", "README.rdoc"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.rubyforge_project = %q{steamprofile}
|
18
|
+
s.rubygems_version = %q{1.3.5}
|
19
|
+
s.summary = %q{Loads a given steam profile in ruby}
|
20
|
+
|
21
|
+
if s.respond_to? :specification_version then
|
22
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
23
|
+
s.specification_version = 3
|
24
|
+
|
25
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
26
|
+
s.add_runtime_dependency(%q<nokogiri>, [">= 1.4.0"])
|
27
|
+
else
|
28
|
+
s.add_dependency(%q<nokogiri>, [">= 1.4.0"])
|
29
|
+
end
|
30
|
+
else
|
31
|
+
s.add_dependency(%q<nokogiri>, [">= 1.4.0"])
|
32
|
+
end
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: steamprofile
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Adam "Arcath" Laycock
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-12-11 00:00:00 +00:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: nokogiri
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.4.0
|
24
|
+
version:
|
25
|
+
description: Loads a given steam profile in ruby
|
26
|
+
email: adam@arcath.net
|
27
|
+
executables: []
|
28
|
+
|
29
|
+
extensions: []
|
30
|
+
|
31
|
+
extra_rdoc_files:
|
32
|
+
- README.rdoc
|
33
|
+
- lib/steamprofile.rb
|
34
|
+
files:
|
35
|
+
- README.rdoc
|
36
|
+
- Rakefile
|
37
|
+
- lib/steamprofile.rb
|
38
|
+
- Manifest
|
39
|
+
- steamprofile.gemspec
|
40
|
+
has_rdoc: true
|
41
|
+
homepage: http://www.arcath.net
|
42
|
+
licenses: []
|
43
|
+
|
44
|
+
post_install_message:
|
45
|
+
rdoc_options:
|
46
|
+
- --line-numbers
|
47
|
+
- --inline-source
|
48
|
+
- --title
|
49
|
+
- Steamprofile
|
50
|
+
- --main
|
51
|
+
- README.rdoc
|
52
|
+
require_paths:
|
53
|
+
- lib
|
54
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: "0"
|
59
|
+
version:
|
60
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: "1.2"
|
65
|
+
version:
|
66
|
+
requirements: []
|
67
|
+
|
68
|
+
rubyforge_project: steamprofile
|
69
|
+
rubygems_version: 1.3.5
|
70
|
+
signing_key:
|
71
|
+
specification_version: 3
|
72
|
+
summary: Loads a given steam profile in ruby
|
73
|
+
test_files: []
|
74
|
+
|