C0 code coverage information

Generated on Sun Jun 11 23:15:11 CEST 2006 with rcov 0.6.0


Code reported as executed by Ruby looks like this...
and this: this line is also marked as covered.
Lines considered as run by rcov, but not reported by Ruby, look like this,
and this: these lines were inferred by rcov (using simple heuristics).
Finally, here's a line marked as not executed.
Name Total lines Lines of code Total coverage Code coverage
app/controllers/articles_controller.rb 182 146
69.8% 
67.1% 
  1 class ArticlesController < ApplicationController
Calls
      1   ActionWebService::Dispatcher::ActionController::ClassMethods#inherited at vendor/rails/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:33

  2   before_filter :verify_config
Calls
      1   ActionController::Filters::ClassMethods#before_filter at vendor/rails/actionpack/lib/action_controller/filters.rb:175

  3   before_filter :ignore_page_query_param
Calls
      1   ActionController::Filters::ClassMethods#before_filter at vendor/rails/actionpack/lib/action_controller/filters.rb:175

  4   layout :theme_layout
Calls
      1   ActionController::Layout::ClassMethods#layout at vendor/rails/actionpack/lib/action_controller/layout.rb:165

  5 
  6   cache_sweeper :blog_sweeper
Calls
      1   ActionController::Caching::Sweeping::ClassMethods#cache_sweeper at vendor/rails/actionpack/lib/action_controller/caching.rb:500

  7   caches_page :index, :read, :permalink, :category, :find_by_date, :archives, :view_page
Calls
      1   ActionController::Caching::Pages::ClassMethods#caches_page at vendor/rails/actionpack/lib/action_controller/caching.rb:95

  8 
  9   verify :only => [:nuke_comment, :nuke_trackback], :session => :user, :method => :post, :render => { :text => 'Forbidden', :status => 403 }
Calls
      1   ActionController::Verification::ClassMethods#verify at vendor/rails/actionpack/lib/action_controller/verification.rb:60

 10     
 11   def index
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
      1   vendor/rails/actionpack/lib/action_controller/base.rb:853 in 'ActionController::Base#perform_action_without_filters'

 12     @pages = Paginator.new self, Article.count, config[:limit_article_display], @params[:page]
Calls
      1   Object#config at app/models/configuration.rb:18
      1   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      1   ConfigManager#[] at app/models/config_manager.rb:18
      1   ActionController::Pagination::Paginator#initialize at vendor/rails/actionpack/lib/action_controller/pagination.rb:208
      1   #<Class:ActiveRecord::Base>#count at vendor/rails/activerecord/lib/active_record/base.rb:507

 13     @articles = Article.find(:all, :conditions => 'published != 0', :order => 'created_at DESC', :limit => config[:limit_article_display], :offset => @pages.current.offset)
Calls
      1   Object#config at app/models/configuration.rb:18
      1   ConfigManager#[] at app/models/config_manager.rb:18
      1   ActionController::Pagination::Paginator::Page#offset at vendor/rails/actionpack/lib/action_controller/pagination.rb:311
      1   ActionController::Pagination::Paginator#current at vendor/rails/actionpack/lib/action_controller/pagination.rb:234
      1   #<Class:ActiveRecord::Base>#find at vendor/rails/activerecord/lib/active_record/base.rb:378

 14   end
 15   
 16   def search
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47

 17     @articles = Article.search(params[:q])
 18   end
 19 
 20   def archives
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
      1   vendor/rails/actionpack/lib/action_controller/base.rb:853 in 'ActionController::Base#perform_action_without_filters'

 21     @articles = Article.find(:all, :conditions => 'published != 0', :order => 'created_at DESC', :include => [:categories])
Calls
      1   #<Class:ActiveRecord::Base>#find at vendor/rails/activerecord/lib/active_record/base.rb:378

 22   end
 23   
 24   def read    
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47

 25     @article      = Article.find(params[:id], :include => [:categories])    
 26     @comment      = Comment.new
 27     @page_title   = @article.title
 28   end
 29     
 30   def permalink
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
      1   vendor/rails/actionpack/lib/action_controller/base.rb:853 in 'ActionController::Base#perform_action_without_filters'

 31     @article    = Article.find_by_permalink(params[:year], params[:month], params[:day], params[:title])
Calls
      4   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      1   #<Class:Article>#find_by_permalink at app/models/article.rb:57

 32     @comment    = Comment.new
Calls
      1   ActiveRecord::Callbacks#initialize at vendor/rails/activerecord/lib/active_record/callbacks.rb:235

 33     
 34     if @article.nil?
 35       error("Post not found...")
 36     else
 37       @page_title = @article.title
Calls
      1   Article#title at (eval):1

 38       render :action => "read"
Calls
      1   ActionController::Benchmarking#render at vendor/rails/actionpack/lib/action_controller/benchmarking.rb:46

 39   	end
 40   end
 41   
 42   def find_by_date
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
      1   vendor/rails/actionpack/lib/action_controller/base.rb:853 in 'ActionController::Base#perform_action_without_filters'

 43     @articles = Article.find_all_by_date(params[:year], params[:month], params[:day])
Calls
      3   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      1   #<Class:Article>#find_all_by_date at app/models/article.rb:46

 44     @pages = Paginator.new self, @articles.size, config[:limit_article_display], @params[:page]
Calls
      1   Object#config at app/models/configuration.rb:18
      1   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      1   ConfigManager#[] at app/models/config_manager.rb:18
      1   ActionController::Pagination::Paginator#initialize at vendor/rails/actionpack/lib/action_controller/pagination.rb:208

 45 
 46     if @articles.empty?
 47       error("No posts found...")
 48     else
 49       start = @pages.current.offset
Calls
      1   ActionController::Pagination::Paginator::Page#offset at vendor/rails/actionpack/lib/action_controller/pagination.rb:311
      1   ActionController::Pagination::Paginator#current at vendor/rails/actionpack/lib/action_controller/pagination.rb:234

 50       stop  = (@pages.current.next.offset - 1) rescue @articles.size
Calls
      1   NilClass#method_missing at vendor/rails/activesupport/lib/active_support/whiny_nil.rb:26
      1   ActionController::Pagination::Paginator::Page#next at vendor/rails/actionpack/lib/action_controller/pagination.rb:343
      1   ActionController::Pagination::Paginator#current at vendor/rails/actionpack/lib/action_controller/pagination.rb:234

 51       @articles = @articles.slice(start..stop)
 52 
 53       render :action => "index"              
Calls
      1   ActionController::Benchmarking#render at vendor/rails/actionpack/lib/action_controller/benchmarking.rb:46

 54     end
 55   end  
 56   
 57   def error(message = "Record not found...")
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47

 58     @message = message
 59     render :action => "error"
 60   end
 61   
 62   def category
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
      1   vendor/rails/actionpack/lib/action_controller/base.rb:853 in 'ActionController::Base#perform_action_without_filters'

 63     if category = Category.find_by_permalink(params[:id])
Calls
      1   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      1   #<Class:ActiveRecord::Base>#method_missing at vendor/rails/activerecord/lib/active_record/base.rb:970

 64       @articles = Article.find(:all, :conditions => [%{ published != 0
Calls
      1   #<Class:ActiveRecord::Base>#find at vendor/rails/activerecord/lib/active_record/base.rb:378

 65           AND articles.id = articles_categories.article_id
 66           AND articles_categories.category_id = ? }, category.id],
Calls
      1   ActiveRecord::Base#id at vendor/rails/activerecord/lib/active_record/base.rb:1194

 67         :joins => ', articles_categories',
 68         :order => "created_at DESC")
 69       
 70       @pages = Paginator.new self, @articles.size, config[:limit_article_display], @params[:page]
Calls
      1   Object#config at app/models/configuration.rb:18
      1   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      1   ConfigManager#[] at app/models/config_manager.rb:18
      1   ActionController::Pagination::Paginator#initialize at vendor/rails/actionpack/lib/action_controller/pagination.rb:208

 71 
 72       start = @pages.current.offset
Calls
      1   ActionController::Pagination::Paginator::Page#offset at vendor/rails/actionpack/lib/action_controller/pagination.rb:311
      1   ActionController::Pagination::Paginator#current at vendor/rails/actionpack/lib/action_controller/pagination.rb:234

 73       stop  = (@pages.current.next.offset - 1) rescue @articles.size
Calls
      1   NilClass#method_missing at vendor/rails/activesupport/lib/active_support/whiny_nil.rb:26
      1   ActionController::Pagination::Paginator::Page#next at vendor/rails/actionpack/lib/action_controller/pagination.rb:343
      1   ActionController::Pagination::Paginator#current at vendor/rails/actionpack/lib/action_controller/pagination.rb:234

 74       # Why won't this work? @articles.slice!(start..stop)
 75       @articles = @articles.slice(start..stop)
 76 
 77       render :action => "index"
Calls
      1   ActionController::Benchmarking#render at vendor/rails/actionpack/lib/action_controller/benchmarking.rb:46

 78     else
 79       error("Can't find posts in category #{params[:id]}")
 80     end
 81   end
 82     
 83   # Receive comments to articles
 84   def comment 
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47

 85     @article = Article.find(params[:id])    
 86     @comment = Comment.new(params[:comment])
 87     @comment.article = @article
 88     @comment.ip = request.remote_ip
 89 
 90     if request.post? and @comment.save      
 91       @comment.body = ""
 92       
 93       cookies[:author]  = { :value => @comment.author, :path => '/' + controller_name, :expires => 6.weeks.from_now } 
 94       cookies[:url]     = { :value => @comment.url, :path => '/' + controller_name, :expires => 6.weeks.from_now } 
 95 
 96       @headers["Content-Type"] = "text/html; charset=utf-8"
 97       
 98       render :partial => "comment", :object => @comment
 99     else
100       render :text => @comment.errors.full_messages.join(", "), :status => 500
101     end
102   end  
103 
104   # Receive trackbacks linked to articles
105   def trackback
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47

106     @result = true
107     
108     if params[:__mode] == "rss"
109       # Part of the trackback spec... will implement later
110     else
111       # url is required
112       unless params.has_key?(:url) and params.has_key?(:id)
113         @result = false
114         @error_message = "A URL is required."
115       else
116         begin
117           article = Article.find(params[:id])
118           tb = article.build_to_trackbacks
119           tb.url       = params[:url]
120           tb.title     = params[:title] || params[:url]
121           tb.excerpt   = params[:excerpt]
122           tb.blog_name = params[:blog_name]
123           tb.ip        = request.remote_ip
124           unless article.save
125             @result = false
126             @error_message = "Trackback not saved.  Database problem most likely."
127           end
128         rescue ActiveRecord::RecordNotFound, ActiveRecord::StatementInvalid
129           @result = false
130           @error_message = "Article id #{params[:id]} not found."
131         end
132       end
133     end
134     render :layout => false
135   end
136   
137   def nuke_comment
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
      1   vendor/rails/actionpack/lib/action_controller/base.rb:853 in 'ActionController::Base#perform_action_without_filters'

138     if(session[:user])
Calls
      1   ActionController::TestSession#[] at vendor/rails/actionpack/lib/action_controller/test_process.rb:258

139       comment = Comment.find(params[:id])
Calls
      1   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      1   #<Class:ActiveRecord::Base>#find at vendor/rails/activerecord/lib/active_record/base.rb:378

140       comment.destroy 
Calls
      1   ActiveRecord::Transactions#destroy at vendor/rails/activerecord/lib/active_record/transactions.rb:121

141       render :nothing => true 
Calls
      1   ActionController::Benchmarking#render at vendor/rails/actionpack/lib/action_controller/benchmarking.rb:46

142     end
143   end
144 
145   def nuke_trackback
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
      1   vendor/rails/actionpack/lib/action_controller/base.rb:853 in 'ActionController::Base#perform_action_without_filters'

146     if(session[:user])
Calls
      1   ActionController::TestSession#[] at vendor/rails/actionpack/lib/action_controller/test_process.rb:258

147       trackback = Trackback.find(params[:id])
Calls
      1   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      1   #<Class:ActiveRecord::Base>#find at vendor/rails/activerecord/lib/active_record/base.rb:378

148       trackback.destroy 
Calls
      1   ActiveRecord::Transactions#destroy at vendor/rails/activerecord/lib/active_record/transactions.rb:121

149       render :nothing => true 
Calls
      1   ActionController::Benchmarking#render at vendor/rails/actionpack/lib/action_controller/benchmarking.rb:46

150     end
151   end
152 
153   def view_page
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
      2   vendor/rails/actionpack/lib/action_controller/base.rb:853 in 'ActionController::Base#perform_action_without_filters'

154     if(@page = Page.find_by_name(params[:name].to_a.join('/')))
Calls
      2   HashWithIndifferentAccess#default at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:12
      2   #<Class:ActiveRecord::Base>#method_missing at vendor/rails/activerecord/lib/active_record/base.rb:970

155       @page_title = @page.title
Calls
      1   ActiveRecord::Base#method_missing at vendor/rails/activerecord/lib/active_record/base.rb:1479

156       render
Calls
      1   ActionController::Benchmarking#render at vendor/rails/actionpack/lib/action_controller/benchmarking.rb:46

157     else
158       render :nothing => true, :status => 404
Calls
      1   ActionController::Benchmarking#render at vendor/rails/actionpack/lib/action_controller/benchmarking.rb:46

159     end
160   end
161   
162   private
163 
164     def ignore_page_query_param
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
     15   vendor/rails/actionpack/lib/action_controller/filters.rb:354 in 'ActionController::Filters::InstanceMethods#call_filters'

165       @params[:page] = nil unless @request.path =~ /\/page\// # assumes all page routes use /page/:page
Calls
     15   HashWithIndifferentAccess#[]= at vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb:18
     15   ActionController::TestRequest#path at vendor/rails/actionpack/lib/action_controller/test_process.rb:80

166     end
167 
168     def verify_config
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47
Called by
     15   vendor/rails/actionpack/lib/action_controller/filters.rb:354 in 'ActionController::Filters::InstanceMethods#call_filters'

169       if User.count == 0
Calls
     15   #<Class:ActiveRecord::Base>#count at vendor/rails/activerecord/lib/active_record/base.rb:507

170         redirect_to :controller => "accounts", :action => "signup"
Calls
      1   ActionController::Base#redirect_to at vendor/rails/actionpack/lib/action_controller/base.rb:752

171       elsif !config.is_ok?
Calls
     14   Object#config at app/models/configuration.rb:18
     14   ConfigManager#is_ok? at app/models/config_manager.rb:7

172         redirect_to :controller => "admin/general", :action => "index"
Calls
      1   ActionController::Base#redirect_to at vendor/rails/actionpack/lib/action_controller/base.rb:752

173       else
174         return true
175       end
176     end
177     
178     def rescue_action_in_public(exception)
Calls
      1   #<Class:Object>#method_added at vendor/rails/actionpack/lib/action_view/vendor/builder/blankslate.rb:47

179       error(exception.message)
180     end
181 
182 end

Generated using the rcov code coverage analysis tool for Ruby version 0.6.0.

Valid XHTML 1.0! Valid CSS!