mywowarmory-ruby 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,6 +3,7 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
  gem 'httparty'
6
+ gem 'wow_community_api'
6
7
 
7
8
  # Add dependencies to develop your gem here.
8
9
  # Include everything needed to run rake, tests, features, etc.
data/Gemfile.lock CHANGED
@@ -1,18 +1,28 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ activesupport (3.1.0)
5
+ multi_json (~> 1.0)
4
6
  crack (0.1.8)
5
7
  git (1.2.5)
8
+ hash-to-ostruct (0.0.1)
6
9
  httparty (0.7.8)
7
10
  crack (= 0.1.8)
11
+ i18n (0.6.0)
8
12
  jeweler (1.6.4)
9
13
  bundler (~> 1.0)
10
14
  git (>= 1.2.5)
11
15
  rake
16
+ multi_json (1.0.3)
12
17
  rake (0.9.2)
13
18
  rcov (0.9.9)
14
19
  rdoc (3.9.4)
15
20
  shoulda (2.11.3)
21
+ wow_community_api (0.2.1)
22
+ activesupport
23
+ hash-to-ostruct
24
+ httparty
25
+ i18n
16
26
 
17
27
  PLATFORMS
18
28
  ruby
@@ -24,3 +34,4 @@ DEPENDENCIES
24
34
  rcov
25
35
  rdoc
26
36
  shoulda
37
+ wow_community_api
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
data/lib/mywowarmory.rb CHANGED
@@ -1,9 +1,11 @@
1
1
  require 'httparty'
2
2
  require 'ostruct'
3
- require 'cgi'
3
+ require 'open-uri'
4
+ require 'wow_community_api'
4
5
 
5
6
  class MyWoWArmory
6
7
  include HTTParty
8
+ # base_uri 'www.mywowarmory.com'
7
9
  base_uri 'www.mywowarmory.com'
8
10
 
9
11
  # def initialize(username,password,options={})
@@ -12,7 +14,13 @@ class MyWoWArmory
12
14
 
13
15
  def get_profile(country,realm,character_name,options={})
14
16
  # options.merge!({:basic_auth => @auth})
15
- self.class.get("/api/profiles/#{country}/#{realm.tr('^a-zA-Z','-').downcase}/#{CGI::escape(character_name)}.json", options).parsed_response
17
+ name = URI::encode(character_name)
18
+ # self.class.get("/api/profiles/#{country}/#{realm.tr('^a-zA-Z','-').downcase}/#{name}.json", options).parsed_response
19
+
20
+ realm = WowCommunityApi::Realm.find_by_name(realm).slug
21
+
22
+ options.merge!(:query => {:name => character_name, :server => realm, :country => country})
23
+ self.class.get("/api/getprofile.php", options).parsed_response
16
24
  end
17
25
  class Profile < OpenStruct
18
26
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{mywowarmory-ruby}
8
- s.version = "0.1.2"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Benjamin Wong"]
12
- s.date = %q{2011-09-16}
12
+ s.date = %q{2011-09-19}
13
13
  s.description = %q{This library uses HTTParty to provide simple, reliable access to the MyWoWArmory API. Good for building reporting scripts and simple apps. Note that this library does not support the complete MyWoWArmory API at this time. See Features/Issues below for details. }
14
14
  s.email = %q{tkwong@railsant.com}
15
15
  s.extra_rdoc_files = [
@@ -41,6 +41,7 @@ Gem::Specification.new do |s|
41
41
 
42
42
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
43
  s.add_runtime_dependency(%q<httparty>, [">= 0"])
44
+ s.add_runtime_dependency(%q<wow_community_api>, [">= 0"])
44
45
  s.add_development_dependency(%q<shoulda>, [">= 0"])
45
46
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
46
47
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
@@ -48,6 +49,7 @@ Gem::Specification.new do |s|
48
49
  s.add_development_dependency(%q<rdoc>, [">= 0"])
49
50
  else
50
51
  s.add_dependency(%q<httparty>, [">= 0"])
52
+ s.add_dependency(%q<wow_community_api>, [">= 0"])
51
53
  s.add_dependency(%q<shoulda>, [">= 0"])
52
54
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
53
55
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
@@ -56,6 +58,7 @@ Gem::Specification.new do |s|
56
58
  end
57
59
  else
58
60
  s.add_dependency(%q<httparty>, [">= 0"])
61
+ s.add_dependency(%q<wow_community_api>, [">= 0"])
59
62
  s.add_dependency(%q<shoulda>, [">= 0"])
60
63
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
61
64
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
@@ -8,7 +8,19 @@ class TestMywowarmory < Test::Unit::TestCase
8
8
  should "get profile" do
9
9
  api = MyWoWArmory.new
10
10
  response = api.get_profile('us','kul-tiras','gary')
11
-
11
+ puts response.inspect
12
+ response = api.get_profile('us','Tichondrius','Slapshøt')
13
+ puts response.inspect
14
+ response = api.get_profile("us", "Mal'Ganis", 'gary')
15
+ puts response.inspect
16
+
17
+ # require 'cgi'
18
+ # require 'uri'
19
+ # string = 'Iñtërnâtiônàlizætiøn'
20
+ # puts URI.encode(string)
21
+ # puts URI.escape(string, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
22
+ # puts URI.escape(string.force_encoding('ascii'))
23
+ # puts CGI.escape(string)
12
24
  # assert(response.path)
13
25
  end
14
26
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mywowarmory-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Benjamin Wong
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-16 00:00:00 +08:00
18
+ date: 2011-09-19 00:00:00 +08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -34,8 +34,8 @@ dependencies:
34
34
  requirement: *id001
35
35
  - !ruby/object:Gem::Dependency
36
36
  prerelease: false
37
- type: :development
38
- name: shoulda
37
+ type: :runtime
38
+ name: wow_community_api
39
39
  version_requirements: &id002 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
@@ -49,8 +49,22 @@ dependencies:
49
49
  - !ruby/object:Gem::Dependency
50
50
  prerelease: false
51
51
  type: :development
52
- name: bundler
52
+ name: shoulda
53
53
  version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ requirement: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ prerelease: false
65
+ type: :development
66
+ name: bundler
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
54
68
  none: false
55
69
  requirements:
56
70
  - - ~>
@@ -61,12 +75,12 @@ dependencies:
61
75
  - 0
62
76
  - 0
63
77
  version: 1.0.0
64
- requirement: *id003
78
+ requirement: *id004
65
79
  - !ruby/object:Gem::Dependency
66
80
  prerelease: false
67
81
  type: :development
68
82
  name: jeweler
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
83
+ version_requirements: &id005 !ruby/object:Gem::Requirement
70
84
  none: false
71
85
  requirements:
72
86
  - - ~>
@@ -77,12 +91,12 @@ dependencies:
77
91
  - 6
78
92
  - 4
79
93
  version: 1.6.4
80
- requirement: *id004
94
+ requirement: *id005
81
95
  - !ruby/object:Gem::Dependency
82
96
  prerelease: false
83
97
  type: :development
84
98
  name: rcov
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
99
+ version_requirements: &id006 !ruby/object:Gem::Requirement
86
100
  none: false
87
101
  requirements:
88
102
  - - ">="
@@ -91,12 +105,12 @@ dependencies:
91
105
  segments:
92
106
  - 0
93
107
  version: "0"
94
- requirement: *id005
108
+ requirement: *id006
95
109
  - !ruby/object:Gem::Dependency
96
110
  prerelease: false
97
111
  type: :development
98
112
  name: rdoc
99
- version_requirements: &id006 !ruby/object:Gem::Requirement
113
+ version_requirements: &id007 !ruby/object:Gem::Requirement
100
114
  none: false
101
115
  requirements:
102
116
  - - ">="
@@ -105,7 +119,7 @@ dependencies:
105
119
  segments:
106
120
  - 0
107
121
  version: "0"
108
- requirement: *id006
122
+ requirement: *id007
109
123
  description: "This library uses HTTParty to provide simple, reliable access to the MyWoWArmory API. Good for building reporting scripts and simple apps. Note that this library does not support the complete MyWoWArmory API at this time. See Features/Issues below for details. "
110
124
  email: tkwong@railsant.com
111
125
  executables: []