mmangino-facebooker 1.0.22 → 1.0.23

Sign up to get free protection for your applications and to get access to all the features.
File without changes
data/Rakefile CHANGED
@@ -9,20 +9,19 @@ rescue LoadError
9
9
  $stderr.puts "Install the multi_rails gem to run tests against multiple versions of Rails"
10
10
  end
11
11
 
12
- $: << File.dirname(__FILE__) + '/lib'
12
+ $: << File.dirname(__FILE__) + '/lib'
13
13
  require './lib/facebooker.rb'
14
14
 
15
- Hoe.new('facebooker', Facebooker::VERSION::STRING) do |p|
15
+ HOE = Hoe.new('facebooker', Facebooker::VERSION::STRING) do |p|
16
16
  p.rubyforge_name = 'facebooker'
17
17
  p.author = ['Chad Fowler', 'Patrick Ewing', 'Mike Mangino', 'Shane Vitarana', 'Corey Innis']
18
18
  p.email = 'mmangino@elevatedrails.com'
19
- p.summary = 'Pure, idiomatic Ruby wrapper for the Facebook REST API.'
20
- p.description = p.paragraphs_of('README.rdoc', 2..5).join("\n\n")
21
- p.url = p.paragraphs_of('README.rdoc', 0).first.split(/\n/)[1..-1]
22
- p.changes = p.paragraphs_of('History.rdoc', 0..1).join("\n\n")
19
+ p.readme_file = 'README.rdoc'
20
+ p.history_file = 'CHANGELOG.rdoc'
23
21
  p.remote_rdoc_dir = '' # Release to root
24
22
  p.test_globs = 'test/**/*_test.rb'
25
23
  p.extra_deps << ['json', '>= 1.0.0']
24
+ p.extra_rdoc_files = FileList['*.rdoc']
26
25
  end
27
26
 
28
27
  require 'rcov/rcovtask'
@@ -42,16 +41,20 @@ namespace :test do
42
41
  end
43
42
  end
44
43
 
45
- gem_spec_file = 'facebooker.gemspec'
46
-
47
- gem_spec = eval(File.read(gem_spec_file)) rescue nil
48
-
49
- desc "Generate the gemspec file."
50
- task :gemspec do
51
- require 'erb'
44
+ namespace :gem do
45
+ task :spec do
46
+ File.open("#{HOE.name}.gemspec", 'w') do |f|
47
+ f.write(HOE.spec.to_ruby)
48
+ end
49
+ end
52
50
 
53
- File.open(gem_spec_file, 'w') do |f|
54
- f.write ERB.new(File.read("#{gem_spec_file}.erb")).result(binding)
51
+ namespace :spec do
52
+ task :dev do
53
+ File.open("#{HOE.name}.gemspec", 'w') do |f|
54
+ HOE.spec.version = "#{HOE.version}.#{Time.now.strftime("%Y%m%d%H%M%S")}"
55
+ f.write(HOE.spec.to_ruby)
56
+ end
57
+ end
55
58
  end
56
59
  end
57
60
 
@@ -2,7 +2,6 @@ begin
2
2
  require 'curb'
3
3
  Facebooker.use_curl = true
4
4
  rescue LoadError
5
- $stderr.puts "Curb not found. Using Net::HTTP."
6
5
  require 'net/http'
7
6
  end
8
7
  require 'facebooker/parser'
@@ -92,4 +91,4 @@ module Facebooker
92
91
  parray
93
92
  end
94
93
  end
95
- end
94
+ end
@@ -2,7 +2,7 @@ module Facebooker #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 1
4
4
  MINOR = 0
5
- TINY = 22
5
+ TINY = 23
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -0,0 +1,62 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+ require 'rack/facebook'
3
+ require 'rack/lint'
4
+ require 'rack/mock'
5
+ require 'ruby-debug'
6
+
7
+ class Rack::FacebookTest < Test::Unit::TestCase
8
+
9
+ def setup
10
+ @secret_key = 'secret'
11
+ @app = lambda do |env|
12
+ @env = env
13
+ Rack::Response.new().to_a
14
+ end
15
+ @facebook = Rack::Facebook.new(@app, @secret_key)
16
+ end
17
+
18
+ def params(p)
19
+ p.map{|*args| args.join('=') }.join('&')
20
+ end
21
+
22
+ def app
23
+ Rack::MockRequest.new(Rack::Lint.new(@facebook))
24
+ end
25
+
26
+ def test_without_fb_params
27
+ response = app.post("/")
28
+ assert_equal 200, response.status
29
+ end
30
+
31
+ def test_converts_request_method
32
+ response = app.post("/",
33
+ :input => params(:fb_sig_request_method => 'GET', :fb_sig => '4d2a700e90b0bcbe54b9e627d2cc1417'))
34
+ assert_equal 200, response.status
35
+ assert_equal 'GET', @env['REQUEST_METHOD']
36
+ end
37
+
38
+ def test_only_sets_request_method_if_provided
39
+ response = app.post("/", :input => params(:fb_sig_user => '1', :fb_sig => '313dd5caed3d0902d83225ff3ae9a950'))
40
+ assert_equal 200, response.status
41
+ assert_equal 'POST', @env['REQUEST_METHOD']
42
+ end
43
+
44
+ def test_renders_400_with_invalid_signature
45
+ response = app.post("/",
46
+ :input => params(:fb_sig => 'wrong', :fb_sig_user => 1))
47
+ assert_equal 400, response.status
48
+ end
49
+
50
+ def test_skips_with_false_condition
51
+ @facebook = Rack::Facebook.new(@app, @secret_key) { false }
52
+ response = app.post("/", :input => params(:fb_sig_user => 'ignored'))
53
+ assert_equal 200, response.status
54
+ end
55
+
56
+ def test_verifies_with_true_condition
57
+ @facebook = Rack::Facebook.new(@app, @secret_key) { true }
58
+ response = app.post("/", :input => params(:fb_sig_user => 'ignored'))
59
+ assert_equal 400, response.status
60
+ end
61
+
62
+ end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mmangino-facebooker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.22
4
+ version: 1.0.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chad Fowler
8
8
  - Patrick Ewing
9
9
  - Mike Mangino
10
10
  - Shane Vitarana
11
+ - Corey Innis
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
@@ -15,6 +16,16 @@ cert_chain: []
15
16
  date: 2009-03-30 00:00:00 -07:00
16
17
  default_executable:
17
18
  dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: json
21
+ type: :runtime
22
+ version_requirement:
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 1.0.0
28
+ version:
18
29
  - !ruby/object:Gem::Dependency
19
30
  name: hoe
20
31
  type: :development
@@ -23,26 +34,22 @@ dependencies:
23
34
  requirements:
24
35
  - - ">="
25
36
  - !ruby/object:Gem::Version
26
- version: 1.5.0
37
+ version: 1.11.0
27
38
  version:
28
- description: "== DESCRIPTION: Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://developer.facebook.com]. Its goals are: * Idiomatic Ruby * No dependencies outside of the Ruby standard library * Concrete classes and methods modeling the Facebook data, so it's easy for a Rubyist to understand what's available * Well tested == FEATURES/PROBLEMS:"
39
+ description: "Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://wiki.developers.facebook.com/index.php/API]. Its goals are: * Idiomatic Ruby * No dependencies outside of the Ruby standard library (This is true with Rails 2.1. Previous Rails versions require the JSON gem) * Concrete classes and methods modeling the Facebook data, so it's easy for a Rubyist to understand what's available * Well tested"
29
40
  email: mmangino@elevatedrails.com
30
41
  executables: []
31
42
 
32
43
  extensions: []
33
44
 
34
45
  extra_rdoc_files:
35
- - History.rdoc
36
- - Manifest.txt
46
+ - CHANGELOG.rdoc
47
+ - COPYING.rdoc
37
48
  - README.rdoc
38
49
  - TODO.rdoc
39
- - test/fixtures/multipart_post_body_with_only_parameters.txt
40
- - test/fixtures/multipart_post_body_with_single_file.txt
41
- - test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt
42
50
  files:
43
- - CHANGELOG.rdoc
44
51
  - COPYING.rdoc
45
- - History.rdoc
52
+ - CHANGELOG.rdoc
46
53
  - README.rdoc
47
54
  - Rakefile
48
55
  - TODO.rdoc
@@ -165,9 +172,9 @@ files:
165
172
  - test/rails_test_helper.rb
166
173
  - test/test_helper.rb
167
174
  - test/facebooker/mobile_test.rb
168
- - Manifest.txt
175
+ - test/rack/facebook_test.rb
169
176
  has_rdoc: true
170
- homepage:
177
+ homepage: http://facebooker.rubyforge.org
171
178
  post_install_message:
172
179
  rdoc_options:
173
180
  - --main
@@ -192,6 +199,21 @@ rubyforge_project: facebooker
192
199
  rubygems_version: 1.2.0
193
200
  signing_key:
194
201
  specification_version: 2
195
- summary: Pure, idiomatic Ruby wrapper for the Facebook REST API.
202
+ summary: Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://wiki.developers.facebook.com/index.php/API]
196
203
  test_files:
197
- - test/test_helper.rb
204
+ - test/facebooker_test.rb
205
+ - test/facebooker/adapters_test.rb
206
+ - test/facebooker/admin_test.rb
207
+ - test/facebooker/batch_request_test.rb
208
+ - test/facebooker/data_test.rb
209
+ - test/facebooker/logging_test.rb
210
+ - test/facebooker/mobile_test.rb
211
+ - test/facebooker/model_test.rb
212
+ - test/facebooker/rails_integration_test.rb
213
+ - test/facebooker/server_cache_test.rb
214
+ - test/facebooker/session_test.rb
215
+ - test/facebooker/models/event_test.rb
216
+ - test/facebooker/models/user_test.rb
217
+ - test/facebooker/rails/publisher_test.rb
218
+ - test/net/http_multipart_post_test.rb
219
+ - test/rack/facebook_test.rb
data/Manifest.txt DELETED
@@ -1,124 +0,0 @@
1
- COPYING.rdoc
2
- History.rdoc
3
- README.rdoc
4
- Rakefile
5
- TODO.rdoc
6
- generators/publisher/publisher_generator.rb
7
- generators/facebook/facebook_generator.rb
8
- generators/facebook/templates/config/facebooker.yml
9
- generators/facebook/templates/public/javascripts/facebooker.js
10
- generators/facebook_controller/USAGE
11
- generators/facebook_controller/facebook_controller_generator.rb
12
- generators/facebook_controller/templates/controller.rb
13
- generators/facebook_controller/templates/functional_test.rb
14
- generators/facebook_controller/templates/helper.rb
15
- generators/facebook_controller/templates/view.fbml.erb
16
- generators/facebook_controller/templates/view.html.erb
17
- generators/facebook_publisher/facebook_publisher_generator.rb
18
- generators/facebook_publisher/templates/create_facebook_templates.rb
19
- generators/facebook_publisher/templates/publisher.rb
20
- generators/facebook_scaffold/USAGE
21
- generators/facebook_scaffold/facebook_scaffold_generator.rb
22
- generators/facebook_scaffold/templates/controller.rb
23
- generators/facebook_scaffold/templates/facebook_style.css
24
- generators/facebook_scaffold/templates/functional_test.rb
25
- generators/facebook_scaffold/templates/helper.rb
26
- generators/facebook_scaffold/templates/layout.fbml.erb
27
- generators/facebook_scaffold/templates/layout.html.erb
28
- generators/facebook_scaffold/templates/style.css
29
- generators/facebook_scaffold/templates/view_edit.fbml.erb
30
- generators/facebook_scaffold/templates/view_edit.html.erb
31
- generators/facebook_scaffold/templates/view_index.fbml.erb
32
- generators/facebook_scaffold/templates/view_index.html.erb
33
- generators/facebook_scaffold/templates/view_new.fbml.erb
34
- generators/facebook_scaffold/templates/view_new.html.erb
35
- generators/facebook_scaffold/templates/view_show.fbml.erb
36
- generators/facebook_scaffold/templates/view_show.html.erb
37
- generators/xd_receiver/xd_receiver_generator.rb
38
- generators/xd_receiver/templates/xd_receiver.html
39
- init.rb
40
- install.rb
41
- lib/facebooker/adapters/adapter_base.rb
42
- lib/facebooker/adapters/bebo_adapter.rb
43
- lib/facebooker/adapters/facebook_adapter.rb
44
- lib/facebooker/admin.rb
45
- lib/facebooker/batch_request.rb
46
- lib/facebooker/data.rb
47
- lib/facebooker/feed.rb
48
- lib/facebooker/logging.rb
49
- lib/facebooker/mobile.rb
50
- lib/facebooker/mock/service.rb
51
- lib/facebooker/mock/session.rb
52
- lib/facebooker/model.rb
53
- lib/facebooker/models/affiliation.rb
54
- lib/facebooker/models/album.rb
55
- lib/facebooker/models/applicationproperties.rb
56
- lib/facebooker/models/applicationrestrictions.rb
57
- lib/facebooker/models/cookie.rb
58
- lib/facebooker/models/education_info.rb
59
- lib/facebooker/models/event.rb
60
- lib/facebooker/models/friend_list.rb
61
- lib/facebooker/models/group.rb
62
- lib/facebooker/models/info_item.rb
63
- lib/facebooker/models/info_section.rb
64
- lib/facebooker/models/location.rb
65
- lib/facebooker/models/notifications.rb
66
- lib/facebooker/models/page.rb
67
- lib/facebooker/models/photo.rb
68
- lib/facebooker/models/tag.rb
69
- lib/facebooker/models/user.rb
70
- lib/facebooker/models/video.rb
71
- lib/facebooker/models/work_info.rb
72
- lib/facebooker/parser.rb
73
- lib/facebooker/rails/controller.rb
74
- lib/facebooker/rails/cucumber/world.rb
75
- lib/facebooker/rails/cucumber.rb
76
- lib/facebooker/rails/extensions/action_controller.rb
77
- lib/facebooker/rails/extensions/rack_setup.rb
78
- lib/facebooker/rails/extensions/routing.rb
79
- lib/facebooker/rails/facebook_form_builder.rb
80
- lib/facebooker/rails/facebook_pretty_errors.rb
81
- lib/facebooker/rails/facebook_request_fix.rb
82
- lib/facebooker/rails/facebook_session_handling.rb
83
- lib/facebooker/rails/facebook_url_helper.rb
84
- lib/facebooker/rails/facebook_url_rewriting.rb
85
- lib/facebooker/rails/helpers/fb_connect.rb
86
- lib/facebooker/rails/helpers.rb
87
- lib/facebooker/rails/integration_session.rb
88
- lib/facebooker/rails/profile_publisher_extensions.rb
89
- lib/facebooker/rails/publisher.rb
90
- lib/facebooker/rails/routing.rb
91
- lib/facebooker/rails/test_helpers.rb
92
- lib/facebooker/rails/utilities.rb
93
- lib/facebooker/server_cache.rb
94
- lib/facebooker/service.rb
95
- lib/facebooker/session.rb
96
- lib/facebooker/version.rb
97
- lib/facebooker.rb
98
- lib/net/http_multipart_post.rb
99
- lib/rack/facebook.rb
100
- lib/tasks/facebooker.rake
101
- lib/tasks/tunnel.rake
102
- rails/init.rb
103
- setup.rb
104
- templates/layout.erb
105
- test/facebooker/adapters_test.rb
106
- test/facebooker/admin_test.rb
107
- test/facebooker/batch_request_test.rb
108
- test/facebooker/data_test.rb
109
- test/facebooker/logging_test.rb
110
- test/facebooker/model_test.rb
111
- test/facebooker/models/event_test.rb
112
- test/facebooker/models/user_test.rb
113
- test/facebooker/rails/publisher_test.rb
114
- test/facebooker/rails_integration_test.rb
115
- test/facebooker/server_cache_test.rb
116
- test/facebooker/session_test.rb
117
- test/facebooker_test.rb
118
- test/fixtures/multipart_post_body_with_only_parameters.txt
119
- test/fixtures/multipart_post_body_with_single_file.txt
120
- test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt
121
- test/net/http_multipart_post_test.rb
122
- test/rails_test_helper.rb
123
- test/test_helper.rb
124
- test/facebooker/mobile_test.rb