mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-19 08:40:12 +01:00
Try the cache_digests gem for Tracks
cache_digests will be part of Rails 4
This commit is contained in:
parent
8b1fc99b72
commit
8a8dc47ab8
9 changed files with 134 additions and 105 deletions
3
Gemfile
3
Gemfile
|
|
@ -16,6 +16,8 @@ gem "aasm"
|
||||||
gem "htmlentities"
|
gem "htmlentities"
|
||||||
gem "swf_fu"
|
gem "swf_fu"
|
||||||
gem "rails_autolink"
|
gem "rails_autolink"
|
||||||
|
gem "cache_digests" #, :git => 'git://github.com/rails/cache_digests.git'
|
||||||
|
gem "rack-mini-profiler"
|
||||||
|
|
||||||
# Gems used only for assets and not required
|
# Gems used only for assets and not required
|
||||||
# in production environments by default.
|
# in production environments by default.
|
||||||
|
|
@ -44,6 +46,7 @@ group :development do
|
||||||
end
|
end
|
||||||
gem "yard"
|
gem "yard"
|
||||||
gem "tolk"
|
gem "tolk"
|
||||||
|
gem "bullet"
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
|
|
|
||||||
10
Gemfile.lock
10
Gemfile.lock
|
|
@ -41,6 +41,10 @@ GEM
|
||||||
bcrypt-ruby (3.0.1)
|
bcrypt-ruby (3.0.1)
|
||||||
bluecloth (2.2.0)
|
bluecloth (2.2.0)
|
||||||
builder (3.0.0)
|
builder (3.0.0)
|
||||||
|
bullet (4.1.6)
|
||||||
|
uniform_notifier (~> 1.0.0)
|
||||||
|
cache_digests (0.1.0)
|
||||||
|
actionpack (>= 3.2)
|
||||||
capybara (1.1.2)
|
capybara (1.1.2)
|
||||||
mime-types (>= 1.16)
|
mime-types (>= 1.16)
|
||||||
nokogiri (>= 1.3.3)
|
nokogiri (>= 1.3.3)
|
||||||
|
|
@ -111,6 +115,8 @@ GEM
|
||||||
rack (1.4.1)
|
rack (1.4.1)
|
||||||
rack-cache (1.2)
|
rack-cache (1.2)
|
||||||
rack (>= 0.4)
|
rack (>= 0.4)
|
||||||
|
rack-mini-profiler (0.1.10)
|
||||||
|
rack (>= 1.1.3)
|
||||||
rack-ssl (1.3.2)
|
rack-ssl (1.3.2)
|
||||||
rack
|
rack
|
||||||
rack-test (0.6.1)
|
rack-test (0.6.1)
|
||||||
|
|
@ -178,6 +184,7 @@ GEM
|
||||||
uglifier (1.2.7)
|
uglifier (1.2.7)
|
||||||
execjs (>= 0.3.0)
|
execjs (>= 0.3.0)
|
||||||
multi_json (~> 1.3)
|
multi_json (~> 1.3)
|
||||||
|
uniform_notifier (1.0.2)
|
||||||
will_paginate (3.0.3)
|
will_paginate (3.0.3)
|
||||||
xpath (0.1.4)
|
xpath (0.1.4)
|
||||||
nokogiri (~> 1.3)
|
nokogiri (~> 1.3)
|
||||||
|
|
@ -193,6 +200,8 @@ DEPENDENCIES
|
||||||
acts_as_list
|
acts_as_list
|
||||||
aruba
|
aruba
|
||||||
bcrypt-ruby
|
bcrypt-ruby
|
||||||
|
bullet
|
||||||
|
cache_digests
|
||||||
capybara
|
capybara
|
||||||
coffee-rails
|
coffee-rails
|
||||||
cucumber-rails
|
cucumber-rails
|
||||||
|
|
@ -203,6 +212,7 @@ DEPENDENCIES
|
||||||
jquery-rails
|
jquery-rails
|
||||||
mongrel (>= 1.2.0.pre2)
|
mongrel (>= 1.2.0.pre2)
|
||||||
mysql2
|
mysql2
|
||||||
|
rack-mini-profiler
|
||||||
rails
|
rails
|
||||||
rails_autolink
|
rails_autolink
|
||||||
sanitize
|
sanitize
|
||||||
|
|
|
||||||
|
|
@ -50,23 +50,20 @@ class ContextsController < ApplicationController
|
||||||
@pending = @context.todos.pending.includes(Todo::DEFAULT_INCLUDES)
|
@pending = @context.todos.pending.includes(Todo::DEFAULT_INCLUDES)
|
||||||
|
|
||||||
@projects = current_user.projects
|
@projects = current_user.projects
|
||||||
|
@contexts = current_user.contexts
|
||||||
|
|
||||||
@count = @not_done_todos.count + @deferred.count + @pending.count
|
@count = @not_done_todos.count + @deferred.count + @pending.count
|
||||||
end
|
|
||||||
|
|
||||||
@contexts = current_user.contexts(true)
|
|
||||||
if @context.nil?
|
|
||||||
respond_to do |format|
|
|
||||||
format.html { render :text => 'Context not found', :status => 404 }
|
|
||||||
format.xml { render :xml => '<error>Context not found</error>', :status => 404 }
|
|
||||||
end
|
|
||||||
else
|
|
||||||
@page_title = "TRACKS::Context: #{@context.name}"
|
@page_title = "TRACKS::Context: #{@context.name}"
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html
|
format.html
|
||||||
format.m &render_context_mobile
|
format.m &render_context_mobile
|
||||||
format.xml { render :xml => @context.to_xml( :except => :user_id ) }
|
format.xml { render :xml => @context.to_xml( :except => :user_id ) }
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
respond_to do |format|
|
||||||
|
format.html { render :text => 'Context not found', :status => 404 }
|
||||||
|
format.xml { render :xml => '<error>Context not found</error>', :status => 404 }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@ class Todo < ActiveRecord::Base
|
||||||
after_save :save_predecessors
|
after_save :save_predecessors
|
||||||
|
|
||||||
# associations
|
# associations
|
||||||
belongs_to :context
|
belongs_to :context, :touch => true
|
||||||
belongs_to :project
|
belongs_to :project, :touch => true
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
belongs_to :recurring_todo
|
belongs_to :recurring_todo
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
<% @not_done = @not_done_todos.select {|t| t.context_id == context.id } -%>
|
<%
|
||||||
<div id="c<%= context.id %>" class="container context" style="display:<%= (collapsible && @not_done.empty?) ? "none" : "block" %>">
|
@not_done = @not_done_todos.select {|t| t.context_id == context.id }
|
||||||
|
cache context do
|
||||||
|
%>
|
||||||
|
<div id="c<%= context.id %>" class="container context" style="display:<%= (collapsible && @not_done.empty?) ? "none" : "block" %>">
|
||||||
<h2>
|
<h2>
|
||||||
<% if collapsible -%>
|
<% if collapsible -%>
|
||||||
<a href="#" class="container_toggle" id="toggle_c<%= context.id %>"><%= image_tag("collapse.png") %></a>
|
<a href="#" class="container_toggle" id="toggle_c<%= context.id %>"><%= image_tag("collapse.png") %></a>
|
||||||
|
|
@ -17,4 +20,5 @@
|
||||||
</div>
|
</div>
|
||||||
<%= render :partial => "todos/todo", :collection => @not_done, :locals => { :parent_container_type => "context" } %>
|
<%= render :partial => "todos/todo", :collection => @not_done, :locals => { :parent_container_type => "context" } %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
<div class="container">
|
<% cache project do %>
|
||||||
|
<div class="container">
|
||||||
<h2 id="project_name_container">
|
<h2 id="project_name_container">
|
||||||
<% if collapsible -%>
|
<% if collapsible -%>
|
||||||
<a href="#" class="container_toggle" id="toggle_p<%= project.id %>"><%= image_tag("collapse.png") %></a>
|
<a href="#" class="container_toggle" id="toggle_p<%= project.id %>"><%= image_tag("collapse.png") %></a>
|
||||||
|
|
@ -8,9 +9,9 @@
|
||||||
<div id="<%= dom_id(project, "container")%>" class="list">
|
<div id="<%= dom_id(project, "container")%>" class="list">
|
||||||
<%= render :partial => "projects/project_settings", :object => project, :locals => { :collapsible => collapsible } %>
|
<%= render :partial => "projects/project_settings", :object => project, :locals => { :collapsible => collapsible } %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h2><%= t('projects.actions_in_project_title') %></h2>
|
<h2><%= t('projects.actions_in_project_title') %></h2>
|
||||||
<div id="p<%= project.id %>items" class="items toggle_target">
|
<div id="p<%= project.id %>items" class="items toggle_target">
|
||||||
<div id="p<%= project.id %>empty-nd" style="display:<%= @not_done.empty? ? 'block' : 'none'%>;">
|
<div id="p<%= project.id %>empty-nd" style="display:<%= @not_done.empty? ? 'block' : 'none'%>;">
|
||||||
|
|
@ -18,4 +19,5 @@
|
||||||
</div>
|
</div>
|
||||||
<%= render :partial => "todos/todo", :collection => @not_done, :locals => { :parent_container_type => "project" } %>
|
<%= render :partial => "todos/todo", :collection => @not_done, :locals => { :parent_container_type => "project" } %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
@ -6,8 +6,10 @@ parameters = "_source_view=#{@source_view}"
|
||||||
parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag'
|
parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag'
|
||||||
@z_index_counter = @z_index_counter - 1 # for IE z-index bug
|
@z_index_counter = @z_index_counter - 1 # for IE z-index bug
|
||||||
@rec_depth ||= 0
|
@rec_depth ||= 0
|
||||||
|
|
||||||
|
cache successor do
|
||||||
%>
|
%>
|
||||||
<div id="<%= dom_id(successor, 'successor') %>" class="item-container">
|
<div id="<%= dom_id(successor, 'successor') %>" class="item-container">
|
||||||
<div id="<%= dom_id(successor, 'successor_line') %>">
|
<div id="<%= dom_id(successor, 'successor_line') %>">
|
||||||
<div class="description<%= staleness_class( successor ) %>" style="margin-left: 20px">
|
<div class="description<%= staleness_class( successor ) %>" style="margin-left: 20px">
|
||||||
<span class="todo.descr"><%= h sanitize(successor.description) %></span>
|
<span class="todo.descr"><%= h sanitize(successor.description) %></span>
|
||||||
|
|
@ -32,4 +34,5 @@ parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag'
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
@ -6,8 +6,10 @@ parameters = "_source_view=#{@source_view}"
|
||||||
parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag'
|
parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag'
|
||||||
@z_index_counter = @z_index_counter - 1 # for IE z-index bug
|
@z_index_counter = @z_index_counter - 1 # for IE z-index bug
|
||||||
@rec_depth=0 # to prevent stack overflow on large dependency trees, see _successor.html.erb
|
@rec_depth=0 # to prevent stack overflow on large dependency trees, see _successor.html.erb
|
||||||
|
|
||||||
|
cache todo do
|
||||||
%>
|
%>
|
||||||
<div id="<%= dom_id(todo) %>" class="item-container">
|
<div id="<%= dom_id(todo) %>" class="item-container">
|
||||||
<div id="<%= dom_id(todo, 'line') %>" class="item-show">
|
<div id="<%= dom_id(todo, 'line') %>" class="item-show">
|
||||||
<%= remote_star_icon(todo) %>
|
<%= remote_star_icon(todo) %>
|
||||||
<%= remote_toggle_checkbox(todo) %>
|
<%= remote_toggle_checkbox(todo) %>
|
||||||
|
|
@ -42,4 +44,5 @@ parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag'
|
||||||
<% #note: edit form will load here remotely -%>
|
<% #note: edit form will load here remotely -%>
|
||||||
<div class="placeholder"> </div>
|
<div class="placeholder"> </div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
7
config/initializers/bullet.rb
Normal file
7
config/initializers/bullet.rb
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
# config for bullet gem
|
||||||
|
|
||||||
|
if defined? Bullet
|
||||||
|
Bullet.enable = false
|
||||||
|
Bullet.alert = false
|
||||||
|
Bullet.bullet_logger = true
|
||||||
|
end
|
||||||
Loading…
Add table
Add a link
Reference in a new issue