dambalah-openaim 2009.03.24

Sign up to get free protection for your applications and to get access to all the features.
data/README ADDED
@@ -0,0 +1,13 @@
1
+ OpenAIM Ruby Library
2
+
3
+ Very basic. Only has Presence API for now. For more info on OpenAIM Presence API, check out http://dev.aol.com/aim/presence
4
+
5
+ Disclaimer: I don't have the need for more than the presence API now so I don't intend to add more than that functionality to the gem.
6
+
7
+ Example:
8
+ require 'rubygems'
9
+ require 'openaim'
10
+
11
+ presence = OpenAIM::Presence.new('YOUR OPEN AIM API KEY')
12
+ user = presence.get('aim_username')
13
+ puts "User is #{user.status}"
@@ -0,0 +1,7 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+
3
+ module OpenAIM
4
+ VERSION = '2009.03.24'
5
+ end
6
+
7
+ require 'openaim/presence.rb'
@@ -0,0 +1,73 @@
1
+ require 'rubygems'
2
+ require 'xmlsimple'
3
+ require 'net/http'
4
+
5
+ module OpenAIM
6
+
7
+ PRESENCE_BASE_URL = 'http://api.oscar.aol.com/presence/'
8
+
9
+ class Presence
10
+
11
+ attr_reader :key
12
+
13
+ def initialize(key)
14
+ @key = key
15
+ end
16
+
17
+ def get(usernames)
18
+ usernames = [usernames] if usernames.class == String
19
+
20
+ url = PRESENCE_BASE_URL + "get?k=#{self.key}&f=xml"
21
+ usernames.each do |username|
22
+ url << "&t=#{username}"
23
+ end
24
+
25
+ xml_data = Net::HTTP.get_response(URI.parse(url)).body
26
+
27
+ data = XmlSimple.xml_in(xml_data)
28
+
29
+ users = []
30
+ data['data'][0]["users"][0]['user'].each do |item|
31
+ user = OpenAIM::User.new
32
+ user.aim_id = item["aimId"][0] if item["aimId"]
33
+ user.display_id = item["displayId"][0] if item["displayId"]
34
+ user.status = item["state"][0] if item["state"]
35
+ user.online_time = item["onlineTime"][0] if item["onlineTime"]
36
+ user.away_time = item["awayTime"][0] if item["awayTime"]
37
+ user.user_type = item["userType"][0] if item["userType"]
38
+ user.buddy_icon = item["buddyIcon"][0] if item["buddyIcon"]
39
+ user.presence_icon = item["presenceIcon"][0] if item["presenceIcon"]
40
+ users << user
41
+ end
42
+
43
+ if users.size == 1
44
+ users[0]
45
+ else
46
+ users
47
+ end
48
+ end
49
+
50
+ end
51
+
52
+
53
+ class User
54
+ attr_accessor :aim_id, :display_id, :status, :online_time, :away_time, :user_type, :buddy_icon, :presence_icon
55
+
56
+ def initialize
57
+ @aim_id = ''
58
+ @display_id = ''
59
+ @status = ''
60
+ @online_time = ''
61
+ @away_time = ''
62
+ @user_type = ''
63
+ @buddy_icon = ''
64
+ @presence_icon = ''
65
+ end
66
+
67
+ def is_online?
68
+ @status == 'online'
69
+ end
70
+
71
+ end
72
+
73
+ end
@@ -0,0 +1,21 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = "openaim"
3
+ s.version = "2009.03.24"
4
+
5
+ s.summary = "OpenAIM is a simple ruby library for OpenAIM API."
6
+ s.description = "Ruby library for openaim - only Presence API implemented so far."
7
+ s.platform = "ruby"
8
+ s.has_rdoc = true
9
+ s.author = "Luc Castera"
10
+ s.email = "luc.castera@gmail.com"
11
+ s.homepage = "http://github.com/dambalah/openaim"
12
+ s.require_path = "lib"
13
+ s.add_dependency('xml-simple', '>= 1.0.11')
14
+
15
+ s.files = [
16
+ "README",
17
+ "lib/openaim.rb",
18
+ "lib/openaim/presence.rb",
19
+ "openaim.gemspec"
20
+ ]
21
+ end
metadata ADDED
@@ -0,0 +1,65 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dambalah-openaim
3
+ version: !ruby/object:Gem::Version
4
+ version: 2009.03.24
5
+ platform: ruby
6
+ authors:
7
+ - Luc Castera
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-03-21 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: xml-simple
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.0.11
24
+ version:
25
+ description: Ruby library for openaim - only Presence API implemented so far.
26
+ email: luc.castera@gmail.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files: []
32
+
33
+ files:
34
+ - README
35
+ - lib/openaim.rb
36
+ - lib/openaim/presence.rb
37
+ - openaim.gemspec
38
+ has_rdoc: true
39
+ homepage: http://github.com/dambalah/openaim
40
+ post_install_message:
41
+ rdoc_options: []
42
+
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: "0"
50
+ version:
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ version:
57
+ requirements: []
58
+
59
+ rubyforge_project:
60
+ rubygems_version: 1.2.0
61
+ signing_key:
62
+ specification_version: 2
63
+ summary: OpenAIM is a simple ruby library for OpenAIM API.
64
+ test_files: []
65
+