facebooker 1.0.61 → 1.0.62

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -24,7 +24,7 @@ HOE = Hoe.spec('facebooker') do
24
24
  self.history_file = 'CHANGELOG.rdoc'
25
25
  self.remote_rdoc_dir = '' # Release to root
26
26
  self.test_globs = ['test/**/*_test.rb']
27
- extra_deps << ['json', '>= 1.0.0']
27
+ extra_deps << ['json_pure', '>= 1.0.0']
28
28
  self.extra_rdoc_files = FileList['*.rdoc']
29
29
  end
30
30
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{facebooker}
5
- s.version = "1.0.61"
5
+ s.version = "1.0.62"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Chad Fowler", "Patrick Ewing", "Mike Mangino", "Shane Vitarana", "Corey Innis", "Mike Mangino"]
9
- s.date = %q{2010-01-22}
9
+ s.date = %q{2010-02-05}
10
10
  s.description = %q{Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://wiki.developers.facebook.com/index.php/API]. Its goals are:
11
11
 
12
12
  * Idiomatic Ruby
@@ -29,14 +29,14 @@ Gem::Specification.new do |s|
29
29
  s.specification_version = 3
30
30
 
31
31
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
32
- s.add_runtime_dependency(%q<json>, [">= 1.0.0"])
32
+ s.add_runtime_dependency(%q<json_pure>, [">= 1.0.0"])
33
33
  s.add_development_dependency(%q<hoe>, [">= 2.4.0"])
34
34
  else
35
- s.add_dependency(%q<json>, [">= 1.0.0"])
35
+ s.add_dependency(%q<json_pure>, [">= 1.0.0"])
36
36
  s.add_dependency(%q<hoe>, [">= 2.4.0"])
37
37
  end
38
38
  else
39
- s.add_dependency(%q<json>, [">= 1.0.0"])
39
+ s.add_dependency(%q<json_pure>, [">= 1.0.0"])
40
40
  s.add_dependency(%q<hoe>, [">= 2.4.0"])
41
41
  end
42
42
  end
@@ -5,6 +5,6 @@
5
5
  <title>Cross-Domain Receiver Page</title>
6
6
  </head>
7
7
  <body>
8
- <script src="https://www.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
8
+ <script src="https://ssl.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.js" type="text/javascript"></script>
9
9
  </body>
10
10
  </html>
@@ -1,5 +1,10 @@
1
1
  unless defined?(ActiveSupport) and defined?(ActiveSupport::JSON)
2
- require 'json'
2
+ begin
3
+ require 'json'
4
+ rescue LoadError
5
+ gem "json_pure"
6
+ require "json"
7
+ end
3
8
  module Facebooker
4
9
  def self.json_decode(str)
5
10
  JSON.parse(str)
@@ -28,7 +28,9 @@ module Facebooker
28
28
  include Model
29
29
  attr_accessor :page_id,:name,:pic_small,:pic_big,:pic_square,:pic,:pic_large,:type,:website,:has_added_app,:founded,:company_overview,:mission,:products,:location,:parking,:public_transit,:hours,:attire,:payment_options,:culinary_team,:general_manager,:price_range,:restaurant_services,:restaurant_specialties,:release_date,:genre,:starring,:screenplay_by,:directed_by,:produced_by,:studio,:awards,:plot_outline,:network,:season,:schedule,:written_by,:band_members,:hometown,:current_location,:record_label,:booking_agent,:artists_we_like,:influences,:band_interests,:bio,:affiliation,:birthday,:personal_info,:personal_interests,:members,:built,:features,:mpg,:general_info,:fan_count
30
30
  attr_reader :genre
31
-
31
+
32
+ alias_method :id, :page_id
33
+
32
34
  def genre=(value)
33
35
  @genre = value.kind_of?(Hash) ? Genre.from_hash(value) : value
34
36
  end
@@ -25,6 +25,8 @@ module Facebooker
25
25
 
26
26
  populating_attr_reader :status
27
27
 
28
+ attr_accessor :request_locale
29
+
28
30
  # Can pass in these two forms:
29
31
  # id, session, (optional) attribute_hash
30
32
  # attribute_hash
@@ -214,7 +216,9 @@ module Facebooker
214
216
  # Retrieve profile data for logged in user
215
217
  # Optional: list of fields to retrieve as symbols
216
218
  def populate(*fields)
217
- session.post('facebook.users.getInfo', :fields => collect(fields), :uids => id) do |response|
219
+ arguments = {:fields => collect(fields), :uids => id}
220
+ arguments[:locale]=request_locale unless request_locale.nil?
221
+ session.post('facebook.users.getInfo', arguments) do |response|
218
222
  populate_from_hash!(response.first)
219
223
  end
220
224
  end
@@ -7,8 +7,10 @@ ActionController::Dispatcher.middleware.insert_before(
7
7
  Rack::Facebook
8
8
  )
9
9
 
10
- ActionController::Dispatcher.middleware.insert_before(
11
- ActionController::Base.session_store,
12
- Rack::FacebookSession,
13
- ActionController::Base.session_options[:key]
14
- )
10
+ #use this if you aren't using the cookie store and want to use
11
+ # the facebook session key for your session id
12
+ # ActionController::Dispatcher.middleware.insert_before(
13
+ # ActionController::Base.session_store,
14
+ # Rack::FacebookSession,
15
+ # ActionController::Base.session_options[:key]
16
+ # )
@@ -8,7 +8,7 @@ module Facebooker
8
8
  lang = "/#{options[:lang].to_s.gsub('-', '_')}" if options[:lang]
9
9
  # dont use the javascript_include_tag helper since it adds a .js at the end
10
10
  if request.ssl?
11
- "<script src=\"https://www.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php#{lang}\" type=\"text/javascript\"></script>"
11
+ "<script src=\"https://ssl.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php#{lang}\" type=\"text/javascript\"></script>"
12
12
  else
13
13
  "<script src=\"http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php#{lang}\" type=\"text/javascript\"></script>"
14
14
  end
@@ -2,7 +2,7 @@ module Facebooker #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 1
4
4
  MINOR = 0
5
- TINY = 61
5
+ TINY = 62
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -13,11 +13,16 @@ class Facebooker::PageTest < Test::Unit::TestCase
13
13
  assert_equal(12345,p.page_id)
14
14
  end
15
15
 
16
- def test_should_be_ble_to_initialize_with_photo_id_as_string
16
+ def test_should_be_able_to_initialize_with_photo_id_as_string
17
17
  p = Facebooker::Page.new("12345")
18
18
  assert_equal("12345",p.page_id)
19
19
  end
20
20
 
21
+ def test_should_alias_photo_id_as_id
22
+ p = Facebooker::Page.new("12345")
23
+ assert_equal("12345", p.id)
24
+ end
25
+
21
26
  def test_should_be_able_to_initialize_with_hash
22
27
  p = Facebooker::Page.new(:page_id=>12345,:name=>"test page")
23
28
  assert_equal("test page",p.name)
@@ -79,6 +79,25 @@ class Facebooker::UserTest < Test::Unit::TestCase
79
79
  def test_raises_when_no_session_bound
80
80
  assert_raises(Facebooker::Model::UnboundSessionException) { Facebooker::User.new(1, nil).populate }
81
81
  end
82
+
83
+ def test_passes_request_locale_when_set
84
+ session = mock()
85
+ session.expects(:post).with("facebook.users.getInfo",has_entry(:locale,"es_ES"))
86
+ Facebooker::Session.expects(:current).returns(session)
87
+ user=Facebooker::User.new(1)
88
+ user.request_locale="es_ES"
89
+ user.name
90
+
91
+ end
92
+
93
+ def test_doesnt_pass_request_locale_when_not_set
94
+ session = mock()
95
+ session.expects(:post).with("facebook.users.getInfo",Not(has_key(:locale)))
96
+ Facebooker::Session.expects(:current).returns(session)
97
+ user=Facebooker::User.new(1)
98
+ user.name
99
+
100
+ end
82
101
 
83
102
  def test_can_set_mobile_fbml
84
103
  @user.expects(:set_profile_fbml).with(nil,"test",nil,nil)
@@ -1159,7 +1159,7 @@ class RailsHelperTest < Test::Unit::TestCase
1159
1159
  end
1160
1160
 
1161
1161
  silence_warnings do
1162
- assert_equal "<script src=\"https://www.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php\" type=\"text/javascript\"></script>",
1162
+ assert_equal "<script src=\"https://ssl.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php\" type=\"text/javascript\"></script>",
1163
1163
  @h.fb_connect_javascript_tag
1164
1164
  end
1165
1165
  end
@@ -1174,7 +1174,7 @@ class RailsHelperTest < Test::Unit::TestCase
1174
1174
  end
1175
1175
 
1176
1176
  silence_warnings do
1177
- assert_equal "<script src=\"https://www.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US\" type=\"text/javascript\"></script>",
1177
+ assert_equal "<script src=\"https://ssl.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US\" type=\"text/javascript\"></script>",
1178
1178
  @h.fb_connect_javascript_tag(:lang => "en_US")
1179
1179
  end
1180
1180
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facebooker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.61
4
+ version: 1.0.62
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chad Fowler
@@ -14,11 +14,11 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-01-22 00:00:00 -05:00
17
+ date: 2010-02-05 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: json
21
+ name: json_pure
22
22
  type: :runtime
23
23
  version_requirement:
24
24
  version_requirements: !ruby/object:Gem::Requirement