Mercurial > zeropaste
comparison app/controllers/pastes_controller.rb @ 366:26545fe719ca
Remove caching system.
Too much complexity for something that is really simple.
author | edogawaconan <me@myconan.net> |
---|---|
date | Sat, 14 Feb 2015 01:35:45 +0900 |
parents | cd1c3a28b89a |
children | 6e3e1e7b0212 |
comparison
equal
deleted
inserted
replaced
365:9d467113d715 | 366:26545fe719ca |
---|---|
5 # GET /1.txt | 5 # GET /1.txt |
6 def show | 6 def show |
7 @paste = Paste.safe_find(params[:id]) | 7 @paste = Paste.safe_find(params[:id]) |
8 return head :not_found unless @paste | 8 return head :not_found unless @paste |
9 | 9 |
10 expires_in 1.month, :public => true | |
11 respond_to do |format| | 10 respond_to do |format| |
12 format.html { cache } | 11 format.html |
13 format.txt { cache } | 12 format.txt |
14 end | 13 end |
15 end | 14 end |
16 | 15 |
17 # GET / | 16 # GET / |
18 def new | 17 def new |
55 end | 54 end |
56 | 55 |
57 def destroy | 56 def destroy |
58 @paste = Paste.safe_find(params[:id]) | 57 @paste = Paste.safe_find(params[:id]) |
59 if @paste.safe_destroy(params[:paste][:key]) | 58 if @paste.safe_destroy(params[:paste][:key]) |
60 uncache | |
61 redirect_to root_path, :notice => "Paste ##{params[:id]} deleted" | 59 redirect_to root_path, :notice => "Paste ##{params[:id]} deleted" |
62 else | 60 else |
63 flash.now[:alert] = @paste.errors.full_messages.to_sentence | 61 flash.now[:alert] = @paste.errors.full_messages.to_sentence |
64 render :show | 62 render :show |
65 end | 63 end |
72 unless correct_path == request.fullpath | 70 unless correct_path == request.fullpath |
73 redirect_to correct_path, :status => :moved_permanently | 71 redirect_to correct_path, :status => :moved_permanently |
74 end | 72 end |
75 end | 73 end |
76 | 74 |
77 def cache_key(format = request.format.symbol) | |
78 ext = case format | |
79 when :txt | |
80 ".txt" | |
81 when :html, nil | |
82 "" | |
83 else | |
84 ".unknown" | |
85 end | |
86 "pastes:#{@paste.to_param}#{ext}" | |
87 end | |
88 | |
89 def cache | |
90 Rails.cache.fetch cache_key, :raw => true do | |
91 render_to_string :show | |
92 end | |
93 end | |
94 | |
95 def uncache | |
96 [:txt, :html, :unknown].each do |format| | |
97 Rails.cache.delete cache_key(format) | |
98 end | |
99 end | |
100 | |
101 def paste_params | 75 def paste_params |
102 params.require(:paste).permit(:paste, :paste_gzip, :paste_gzip_base64, :is_private, :key) | 76 params.require(:paste).permit(:paste, :paste_gzip, :paste_gzip_base64, :is_private, :key) |
103 end | 77 end |
104 end | 78 end |