lib/facebooker/session.rb in taweili-facebooker-1.0.38 vs lib/facebooker/session.rb in taweili-facebooker-1.0.40

- old
+ new

@@ -70,10 +70,11 @@ WWW_PATH_ADD = "/add.php" WWW_PATH_INSTALL = "/install.php" attr_writer :auth_token attr_reader :session_key + attr_reader :secret_from_session def self.create(api_key=nil, secret_key=nil) api_key ||= self.api_key secret_key ||= self.secret_key raise ArgumentError unless !api_key.nil? && !secret_key.nil? @@ -179,14 +180,18 @@ def secured? !@session_key.nil? && !expired? end - def secure! - response = post 'facebook.auth.getSession', :auth_token => auth_token + def secure!(args = {}) + response = post 'facebook.auth.getSession', :auth_token => auth_token, :generate_session_secret => args[:generate_session_secret] ? "1" : "0" secure_with!(response['session_key'], response['uid'], response['expires'], response['secret']) end + + def secure_with_session_secret! + self.secure!(:generate_session_secret => true) + end def secure_with!(session_key, uid = nil, expires = nil, secret_from_session = nil) @session_key = session_key @uid = uid ? Integer(uid) : post('facebook.users.getLoggedInUser', :session_key => session_key) @expires = Integer(expires) @@ -411,13 +416,13 @@ end ## # Send email to as many as 100 users at a time - def send_email(user_ids, subject, text, fbml = nil) + def send_email(user_ids, subject, text, fbml = nil) user_ids = Array(user_ids) params = {:fbml => fbml, :recipients => user_ids.map{ |id| User.cast_to_facebook_id(id)}.join(','), :text => text, :subject => subject} - post 'facebook.notifications.sendEmail', params + post 'facebook.notifications.sendEmail', params, false end # Only serialize the bare minimum to recreate the session. def marshal_load(variables)#:nodoc: fields_to_serialize.each_with_index{|field, index| instance_variable_set_value(field, variables[index])}