facebooker 1.0.61 → 1.0.62

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