omnicontacts 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.md +6 -4
  2. data/lib/omnicontacts.rb +1 -1
  3. metadata +14 -14
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- = OmniContacts
1
+ # OmniContacts
2
2
 
3
3
  Inspired by the popular OmniAuth, OmniContacts is a library that enables users of an application to import contacts from their email accounts.
4
4
  The current version allows to import contacts from the three most popular web email providers: Gmail, Yahoo and Hotmail.
@@ -7,11 +7,13 @@ OmniContacts is a Rack middleware, therefore you can use it with Rails, Sinatra
7
7
  OmniContacts uses the OAuth protocol to communicate with the contacts provider. Yahoo still uses OAuth 1.0, while both Gmail and Hotmail support OAuth 2.0.
8
8
  In order to use OmniContacts, it is therefore necessary to first register your application with the providers you want to use and to obtain client_id and client_secret.
9
9
 
10
- == Usage
10
+ ## Usage
11
11
 
12
12
  Add OmniContacts as a dependency:
13
+
13
14
  ```ruby
14
15
  gem "omnicontacts"
16
+
15
17
  ```
16
18
 
17
19
  As for OmniAuth, there is a Builder facilitating the usage of multiple contacts importers. In the case of a Rails application, the following code could be placed at `config/initializers/omnicontacts.rb`:
@@ -32,7 +34,7 @@ Since Yahoo implements the version 1.0 of the OAuth protocol, naming is slightly
32
34
  While `:ssl_ca_file` is optional, it is highly recommended to set it on production environments for obvious security reasons.
33
35
  On the other hand it makes things much easier to leave the default value for `:redirect_path` and `:callback path`, the reason of which will be clear after reading the following section.
34
36
 
35
- == Integrating with your Application
37
+ ## Integrating with your Application
36
38
 
37
39
  To use OmniContacts you only need to redirect users to `/contacts/:importer`, where `:importer` can be google, yahoo or hotmail. Once the user has authorized your application, he will be redirected back to your website, to the path specified in `:redirect_path` (or `:callback_path` for yahoo). The user is redirected to `/contacts/:importer/callback` by default, which therefore makes things much simpler to not specify any value for `:redirect_path` or `:callback_path`.
38
40
  The list of contacts can be accessed via the `omnicontacts.contacts` key in the environment hash. The list of contacts is a simple array of hashes. Each hash has two keys: `:email` and `:name`, containing the email and the name of the contact respectively.
@@ -49,7 +51,7 @@ end
49
51
 
50
52
  If the user does not authorize your application to access his/her contacts list, or any other inconvenience occurs, he/she is redirected to `/contacts/failure`. The query string will contain a parameter named `error_message` which specifies why the list of contacts could not be retrieved. `error_message` can have one of the following values: `not_authorized`, `timeout` and `internal_error`.
51
53
 
52
- == Tips and tricks
54
+ ## Tips and tricks
53
55
 
54
56
  OmniContacts supports OAuth 1.0 and OAuth 2.0 token refresh, but for both it needs to persist data between requests. OmniContacts stores access tokens in the session. If you hit the 4KB cookie storage limit you better opt for the Memcache or the Active Record storage.
55
57
 
data/lib/omnicontacts.rb CHANGED
@@ -2,7 +2,7 @@ require "rack"
2
2
 
3
3
  module OmniContacts
4
4
 
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.1"
6
6
 
7
7
  autoload :Builder, "omnicontacts/builder"
8
8
  autoload :Importer, "omnicontacts/importer"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omnicontacts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-07 00:00:00.000000000 Z
12
+ date: 2012-03-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
16
- requirement: &1458910 !ruby/object:Gem::Requirement
16
+ requirement: &1425110 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *1458910
24
+ version_requirements: *1425110
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &1453940 !ruby/object:Gem::Requirement
27
+ requirement: &1423130 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *1453940
35
+ version_requirements: *1423130
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: simplecov
38
- requirement: &1452760 !ruby/object:Gem::Requirement
38
+ requirement: &1421280 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *1452760
46
+ version_requirements: *1421280
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &1451690 !ruby/object:Gem::Requirement
49
+ requirement: &1418970 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *1451690
57
+ version_requirements: *1418970
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rack-test
60
- requirement: &1450620 !ruby/object:Gem::Requirement
60
+ requirement: &1414630 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *1450620
68
+ version_requirements: *1414630
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &1449560 !ruby/object:Gem::Requirement
71
+ requirement: &1410280 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *1449560
79
+ version_requirements: *1410280
80
80
  description: A generalized Rack middleware for importing contacts from major email
81
81
  providers.
82
82
  email: