omniauth-tumblr 0.1

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/.gitignore ADDED
@@ -0,0 +1 @@
1
+ .DS_Store
data/README.md ADDED
@@ -0,0 +1,42 @@
1
+ OmniAuth Tumblr
2
+ ================
3
+
4
+ This gem is an OmniAuth 1.0 Strategy for authenticating with the [Tumblr API](http://developers.tumblr.com)
5
+
6
+
7
+ Usage
8
+ -----
9
+
10
+ Register your application with Tumblr. *Important*: specify a default callback URL or
11
+ Tumblr will throw 400 Bad Request errors. Any URL is fine.
12
+
13
+ Get started by adding the Tumblr strategy to your `Gemfile` along with Omniauth:
14
+
15
+ ```ruby
16
+ gem 'omniauth'
17
+ gem 'omniauth-tumblr'
18
+ ```
19
+
20
+ Then add the Tumblr strategy to your Rack middleware:
21
+
22
+ ```ruby
23
+ use OmniAuth::Builder do
24
+ provider :tumblr, ENV['TUMBLR_KEY'], ENV['TUMBLR_SECRET']
25
+ end
26
+ ```
27
+
28
+ In Rails, create a file like @config/initializers/omniauth.com@:
29
+
30
+ ```ruby
31
+ Rails.application.config.middleware.use OmniAuth::Builder do
32
+ provider :tumblr, ENV['TUMBLR_KEY'], ENV['TUMBLR_SECRET']
33
+ end
34
+ ```
35
+
36
+
37
+ License
38
+ -------
39
+
40
+ This source code released under an MIT license.
41
+
42
+ (c) 2011 Jamie Wilkinson
@@ -0,0 +1,2 @@
1
+ require "omniauth-tumblr/version"
2
+ require 'omniauth/strategies/tumblr'
@@ -0,0 +1,5 @@
1
+ module Omniauth
2
+ module Tumblr
3
+ VERSION = "0.1"
4
+ end
5
+ end
@@ -0,0 +1,43 @@
1
+ require 'omniauth-oauth'
2
+ require 'multi_json'
3
+
4
+ module OmniAuth
5
+ module Strategies
6
+ class Tumblr < OmniAuth::Strategies::OAuth
7
+
8
+ option :name, 'tumblr'
9
+ option :client_options, {:site => 'http://www.tumblr.com'}
10
+
11
+ uid { user['name'] }
12
+
13
+ info do
14
+ {
15
+ 'nickname' => user['name'],
16
+ 'name' => user['title'],
17
+ 'image' => user['avatar_url'],
18
+ 'urls' => {
19
+ 'website' => user['url'],
20
+ }
21
+ }
22
+ end
23
+
24
+ extra do
25
+ {'user_hash' => user}
26
+ end
27
+
28
+ def user
29
+ tumblelogs = user_hash['tumblr']['tumblelog']
30
+ if tumblelogs.kind_of?(Array)
31
+ @user ||= tumblelogs[0]
32
+ else
33
+ @user ||= tumblelogs
34
+ end
35
+ end
36
+
37
+ def user_hash
38
+ url = "http://www.tumblr.com/api/authenticate"
39
+ @user_hash ||= Hash.from_xml(@access_token.get(url).body)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "omniauth-tumblr/version"
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = "omniauth-tumblr"
7
+ gem.version = Omniauth::Tumblr::VERSION
8
+ gem.authors = ["Jamie Wilkinson"]
9
+ gem.email = ["jamie@jamiedubs.com"]
10
+ gem.homepage = "https://github.com/jamiew/omniauth-tumblr"
11
+ gem.description = %q{OmniAuth strategy for Tumblr}
12
+ gem.summary = gem.description
13
+
14
+ gem.files = `git ls-files`.split("\n")
15
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ gem.require_paths = ["lib"]
18
+
19
+ gem.add_runtime_dependency 'omniauth-oauth', '~> 1.0'
20
+
21
+ gem.required_rubygems_version = Gem::Requirement.new('>= 1.3.6') if gem.respond_to? :required_rubygems_version=
22
+ end
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: omniauth-tumblr
3
+ version: !ruby/object:Gem::Version
4
+ hash: 9
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ version: "0.1"
10
+ platform: ruby
11
+ authors:
12
+ - Jamie Wilkinson
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2011-11-30 00:00:00 Z
18
+ dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: omniauth-oauth
21
+ prerelease: false
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ hash: 15
28
+ segments:
29
+ - 1
30
+ - 0
31
+ version: "1.0"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ description: OmniAuth strategy for Tumblr
35
+ email:
36
+ - jamie@jamiedubs.com
37
+ executables: []
38
+
39
+ extensions: []
40
+
41
+ extra_rdoc_files: []
42
+
43
+ files:
44
+ - .gitignore
45
+ - README.md
46
+ - lib/omniauth-tumblr.rb
47
+ - lib/omniauth-tumblr/version.rb
48
+ - lib/omniauth/strategies/tumblr.rb
49
+ - omniauth-tumblr.gemspec
50
+ homepage: https://github.com/jamiew/omniauth-tumblr
51
+ licenses: []
52
+
53
+ post_install_message:
54
+ rdoc_options: []
55
+
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ hash: 3
64
+ segments:
65
+ - 0
66
+ version: "0"
67
+ required_rubygems_version: !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 23
73
+ segments:
74
+ - 1
75
+ - 3
76
+ - 6
77
+ version: 1.3.6
78
+ requirements: []
79
+
80
+ rubyforge_project:
81
+ rubygems_version: 1.8.11
82
+ signing_key:
83
+ specification_version: 3
84
+ summary: OmniAuth strategy for Tumblr
85
+ test_files: []
86
+