Module: Fcid::ActiveResource::Base::Session::ClassMethods

Defined in:
lib/fcid/active_resource/session.rb

Instance Method Summary collapse

Instance Method Details

#with_session(user_id, &block) ⇒ Object

Fcid::Message.with_session current_user do

message = Fcid::Message.new :message=>"x"
message.save

end



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/fcid/active_resource/session.rb', line 18

def with_session(user_id,&block)
  user_id = user_id.to_param
  # 计算一个 user_id 的hash加密传送给 fcid

  timestamp = Time.now.to_i.to_s
  key = user_id + Fcid.api_secret + timestamp
  sig = Digest::MD5.hexdigest(key)
  params = {:fcid_user_id=>user_id,:fcid_sig=>sig,:fcid_time=>timestamp}
  params.each_pair do |key,value|
    self.extra_params[key] = value
  end

  Rails.logger.debug "extra params : #{self.extra_params.inspect}"
  begin
    yield
  ensure
    params.keys.each do |key|
      self.extra_params.delete key
    end
  end
end