Class: Contacts
- Inherits:
-
Object
show all
- Defined in:
- lib/contacts/base.rb,
lib/contacts/gmail.rb,
lib/contacts/plaxo.rb,
lib/contacts/yahoo.rb,
lib/contacts/hotmail.rb,
lib/contacts/json_picker.rb,
lib/contacts/aol_importer.rb
Defined Under Namespace
Classes: AolImporter, AuthenticationError, Base, ConnectionError, ContactsError, Gmail, Hotmail, Plaxo, TypeNotFound, Yahoo
Constant Summary
collapse
- TYPES =
{}
- FILETYPES =
{}
- VERSION =
"1.4.1"
Class Method Summary
collapse
Class Method Details
.guess(login, password, options = {}) ⇒ Object
214
215
216
217
218
219
220
221
222
|
# File 'lib/contacts/base.rb', line 214
def self.guess(login, password, options={})
TYPES.inject([]) do |a, t|
begin
a + t[1].new(login, password, options).contacts
rescue AuthenticationError
a
end
end.uniq
end
|
.new(type, login, password = "", secret_key = "", options = {}) ⇒ Object
201
202
203
204
205
206
207
208
209
210
211
212
|
# File 'lib/contacts/base.rb', line 201
def self.new(type, login, password="", secret_key="", options={})
if !password.nil? && password != '' && !secret_key.nil? && secret_key != ''
password = Encryptor.decrypt(URI.unescape(password), :key => secret_key)
end
if TYPES.include?(type.to_s.intern)
TYPES[type.to_s.intern].new(login, password, options)
elsif FILETYPES.include?(type.to_s.intern)
FILETYPES[type.to_s.intern].new(login)
else
raise TypeNotFound, "#{type.inspect} is not a valid type, please choose one of the following: #{TYPES.keys.inspect} or #{FILETYPES.keys.inspect}"
end
end
|
.parse_json(string) ⇒ Object
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/contacts/json_picker.rb', line 6
def self.parse_json( string )
if Object.const_defined?('ActiveSupport') and
ActiveSupport.const_defined?('JSON')
ActiveSupport::JSON.decode( string )
elsif Object.const_defined?('JSON')
JSON.parse( string )
else
raise 'Contacts requires JSON or Rails (with ActiveSupport::JSON)'
end
end
|