djanowski-facebooker 1.0.2 → 1.0.4

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.
@@ -42,13 +42,18 @@ module Facebooker
42
42
  # Returns a user's events, params correspond to API call parameters (except UID):
43
43
  # http://wiki.developers.facebook.com/index.php/Events.get
44
44
  # E.g:
45
- # @user.events(:start_time => Time.now.to_i, :end_time => 1.month.from_now.to_i)
45
+ # @user.events(:start_time => Time.now, :end_time => 1.month.from_now)
46
46
  # # => Returns events betwen now and a month from now
47
47
  def events(params={})
48
- @events ||= @session.post('facebook.events.get', {:uid => self.id}.merge(params)).map do |event|
48
+ @events ||= {}
49
+ [:start_time,:end_time].compact.each do |key|
50
+ params[key] = params[key].to_i
51
+ end
52
+ # puts @events[params.to_s].nil?
53
+ @events[params.to_s] ||= @session.post('facebook.events.get', {:uid => self.id}.merge(params)).map do |event|
49
54
  Event.from_hash(event)
50
55
  end
51
- end
56
+ end
52
57
 
53
58
  #
54
59
  # Set the list of friends, given an array of User objects. If the list has been retrieved previously, will not set
@@ -404,6 +404,11 @@ module Facebooker
404
404
  def protect_against_forgery?
405
405
  @paf ||= ActionController::Base.new.send(:protect_against_forgery?)
406
406
  end
407
+
408
+ # url_for calls in publishers tend to want full paths
409
+ def url_for(options = {})
410
+ super(options.kind_of?(Hash) ? {:only_path => false}.update(options) : options)
411
+ end
407
412
  end
408
413
  ActionController::Routing::Routes.named_routes.install(self.master_helper_module)
409
414
  include self.master_helper_module
@@ -391,7 +391,7 @@ class PublisherTest < Test::Unit::TestCase
391
391
  assert_equal({:src => '/images/image.png', :href => 'raw_string' },
392
392
  TestPublisher.new.image('image.png', 'raw_string'))
393
393
  assert_equal({:src => '/images/image.png', :href => 'http://apps.facebook.com/mike/pokes/do/1' },
394
- TestPublisher.new.image('image.png', {:only_path=>false,:controller => :pokes, :action => :do, :id => 1}))
394
+ TestPublisher.new.image('image.png', {:controller => :pokes, :action => :do, :id => 1}))
395
395
  end
396
396
 
397
397
  def test_action_link
data/test/user_test.rb CHANGED
@@ -129,12 +129,18 @@ class UserTest < Test::Unit::TestCase
129
129
  events = @user.events
130
130
  assert_equal "29511517904", events.first.eid
131
131
  end
132
-
133
- def test_can_get_events
134
- @user.expects(:events)
135
- @user.events
132
+
133
+ def test_events_caching_honors_params
134
+ @user = Facebooker::User.new(9507801, @session)
135
+ @session.expects(:post).returns([{:eid=>1}])
136
+ assert_equal 1,@user.events.first.eid
137
+ @session.expects(:post).returns([{:eid=>2}])
138
+ assert_equal 2,@user.events(:start_time=>1.day.ago).first.eid
139
+ @session.expects(:post).never
140
+ assert_equal 1,@user.events.first.eid
136
141
  end
137
142
 
143
+
138
144
  def test_to_s
139
145
  assert_equal("1234",@user.to_s)
140
146
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: djanowski-facebooker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chad Fowler