dambalah-openaim 2009.03.24

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/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
+