alanho-typhoeus_oauth 0.0.0 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,6 +1,12 @@
1
1
  = typhoeus_oauth
2
2
 
3
- Description goes here.
3
+ Enabling OAuth on Typhoeus.
4
+
5
+ == Exmaples
6
+
7
+
8
+ == Notes
9
+ This is my first gem and this is VERY experimental.
4
10
 
5
11
  == Note on Patches/Pull Requests
6
12
 
@@ -9,8 +15,7 @@ Description goes here.
9
15
  * Add tests for it. This is important so I don't break it in a
10
16
  future version unintentionally.
11
17
  * Commit, do not mess with rakefile, version, or history.
12
- (if you want to have your own version, that is fine but
13
- bump version in a commit by itself I can ignore when I pull)
18
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
14
19
  * Send me a pull request. Bonus points for topic branches.
15
20
 
16
21
  == Copyright
data/Rakefile CHANGED
@@ -5,12 +5,16 @@ begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "typhoeus_oauth"
8
- gem.summary = %Q{TODO: one-line summary of your gem}
9
- gem.description = %Q{TODO: longer description of your gem}
8
+ gem.summary = %Q{Bridging OAuth and Typhoeus}
9
+ gem.description = %Q{Bridging OAuth and Typhoeus}
10
10
  gem.email = "alanho@gmail.com"
11
11
  gem.homepage = "http://github.com/alanho/typhoeus_oauth"
12
12
  gem.authors = ["Alan Ho"]
13
13
  gem.add_development_dependency "rspec"
14
+ gem.add_dependency('oauth', '>= 0.3.5')
15
+ gem.add_dependency('pauldix-typhoeus', '>= 0.0.24')
16
+ gem.files.include FileList['lib/**/*.rb']
17
+ # gem.files = FileList['lib/**/*.rb'].join(",")
14
18
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
19
  end
16
20
  rescue LoadError
@@ -0,0 +1,11 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__)) unless $LOAD_PATH.include?(File.dirname(__FILE__))
2
+
3
+ require "rubygems"
4
+ require "oauth"
5
+ require "typhoeus"
6
+ require "typhoeus_oauth/oauth_extension"
7
+ require "typhoeus_oauth/module_extension"
8
+ require "oauth/request_proxy/typhoeus_request"
9
+
10
+ Typhoeus::Easy.send :include, TyphoeusOAuth::OAuthExtension
11
+ Typhoeus::ClassMethods.send :include, TyphoeusOAuth::ModuleExtension
@@ -1,7 +1,47 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
+ require "typhoeus"
4
+ require "lib/typhoeus_oauth"
5
+
3
6
  describe "TyphoeusOauth" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
7
+ consumer = OAuth::Consumer.new("key","secret",{ :site=>"http://term.ie" })
8
+ access = OAuth::AccessToken.new(consumer, "accesskey", "accesssecret")
9
+
10
+ it "should generate the same signature_base_string as Net/HTTP request" do
11
+ key = (0...8).map{65.+(rand(25)).chr}.join
12
+ value = (0...8).map{65.+(rand(25)).chr}.join
13
+ query_string = "#{key}=#{value}"
14
+
15
+ easy = Typhoeus.get_easy_object
16
+ easy.url = "http://term.ie/oauth/example/echo_api.php?#{query_string}"
17
+ easy.method = :get
18
+
19
+ easy_base_string = easy.signature_base_string(consumer, access, {:nonce => "4572616e48616d6d65724c61686176", :timestamp => 137131200})
20
+
21
+ http = Net::HTTP.new("term.ie", 80)
22
+ request = Net::HTTP::Get.new("/oauth/example/echo_api.php?#{query_string}")
23
+ http_base_string = request.signature_base_string(http, consumer, access, {:nonce => "4572616e48616d6d65724c61686176", :timestamp => 137131200})
24
+
25
+ http_base_string.should == easy_base_string
26
+ end
27
+
28
+ it "should behave like a net/http request using header authentication" do
29
+ key = (0...8).map{65.+(rand(25)).chr}.join
30
+ value = (0...8).map{65.+(rand(25)).chr}.join
31
+ query_string = "#{key}=#{value}"
32
+
33
+ easy = Typhoeus.get_easy_object
34
+ easy.url = "http://term.ie/oauth/example/echo_api.php?#{query_string}"
35
+ easy.method = :get
36
+ easy.oauth!(consumer, access)
37
+ easy.set_headers
38
+ easy.perform
39
+ easy.response_body
40
+
41
+ http = Net::HTTP.new("term.ie", 80)
42
+ request = Net::HTTP::Get.new("/oauth/example/echo_api.php?#{query_string}")
43
+ consumer.sign!(request, access)
44
+ res = http.request(request)
45
+ res.body.should == easy.response_body
6
46
  end
7
47
  end
@@ -0,0 +1,66 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{typhoeus_oauth}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Alan Ho"]
12
+ s.date = %q{2009-09-07}
13
+ s.description = %q{Bridging OAuth and Typhoeus}
14
+ s.email = %q{alanho@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gitignore",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "lib/oauth/request_proxy/typhoeus_request.rb",
27
+ "lib/oauth/request_proxy/typhoeus_request.rb",
28
+ "lib/typhoeus_oauth.rb",
29
+ "lib/typhoeus_oauth.rb",
30
+ "lib/typhoeus_oauth/module_extension.rb",
31
+ "lib/typhoeus_oauth/module_extension.rb",
32
+ "lib/typhoeus_oauth/oauth_extension.rb",
33
+ "lib/typhoeus_oauth/oauth_extension.rb",
34
+ "spec/spec_helper.rb",
35
+ "spec/typhoeus_oauth_spec.rb",
36
+ "typhoeus_oauth.gemspec"
37
+ ]
38
+ s.homepage = %q{http://github.com/alanho/typhoeus_oauth}
39
+ s.rdoc_options = ["--charset=UTF-8"]
40
+ s.require_paths = ["lib"]
41
+ s.rubygems_version = %q{1.3.5}
42
+ s.summary = %q{Bridging OAuth and Typhoeus}
43
+ s.test_files = [
44
+ "spec/spec_helper.rb",
45
+ "spec/typhoeus_oauth_spec.rb"
46
+ ]
47
+
48
+ if s.respond_to? :specification_version then
49
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
50
+ s.specification_version = 3
51
+
52
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
53
+ s.add_development_dependency(%q<rspec>, [">= 0"])
54
+ s.add_runtime_dependency(%q<oauth>, [">= 0.3.5"])
55
+ s.add_runtime_dependency(%q<pauldix-typhoeus>, [">= 0.0.24"])
56
+ else
57
+ s.add_dependency(%q<rspec>, [">= 0"])
58
+ s.add_dependency(%q<oauth>, [">= 0.3.5"])
59
+ s.add_dependency(%q<pauldix-typhoeus>, [">= 0.0.24"])
60
+ end
61
+ else
62
+ s.add_dependency(%q<rspec>, [">= 0"])
63
+ s.add_dependency(%q<oauth>, [">= 0.3.5"])
64
+ s.add_dependency(%q<pauldix-typhoeus>, [">= 0.0.24"])
65
+ end
66
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alanho-typhoeus_oauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alan Ho
@@ -64,6 +64,7 @@ files:
64
64
  - lib/typhoeus_oauth/oauth_extension.rb
65
65
  - spec/spec_helper.rb
66
66
  - spec/typhoeus_oauth_spec.rb
67
+ - typhoeus_oauth.gemspec
67
68
  has_rdoc: false
68
69
  homepage: http://github.com/alanho/typhoeus_oauth
69
70
  post_install_message: