mmangino-facebooker 1.0.22 → 1.0.23

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.
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