Sha256: e612b08f888a9bbc99ef3e0b5d1d61e7afa69a9097ae4b00c1ca819bc5277d7d

Contents?: true

Size: 762 Bytes

Versions: 2

Compression:

Stored size: 762 Bytes

Contents

class DoubanController < ApplicationController
  def new
    douban = Douban::Douban.new
    douban.callback = douban_callback_url
    authorize_url = douban.authorize_url
    
    respond_to do |wants|
      session[:back]   = request.env['HTTP_REFERER'] unless request.env['HTTP_REFERER'].blank?
      session[:douban] = douban.dump
      wants.html {redirect_to authorize_url}
    end
  end
  
  def callback
    if session[:douban]
      douban = Douban::Douban.load(session[:douban])
      douban.authorize
      session[:douban] = douban.dump
    end
    
    redirect_to(session[:back] || '/')
    session[:back] = nil
  end
  
  def destroy
    return unless douban_authorized?
    session[:douban] = nil
    douban.destroy
    redirect_to '/'
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
douban-rails2.3-0.7.0 generators/douban/templates/douban_controller.rb
douban-rails2.3-0.6.5 generators/douban/templates/douban_controller.rb