Skip to content

Instantly share code, notes, and snippets.

@ncdc
Created January 13, 2012 20:11
Show Gist options
  • Save ncdc/1608463 to your computer and use it in GitHub Desktop.
Save ncdc/1608463 to your computer and use it in GitHub Desktop.
class ReportingController < ApplicationController
def tabulation
# get name/id pairs
#FeatureFile.joins(:feature_file_name).select('feature_file_names.name, max(feature_files.id)').group('feature_file_names.name')
@release =
if params[:release_id]
Release.find(params[:release_id])
else
Release.first
end
runs = Run.where(:release_id => @release)
@eps_mapping =
if params[:eps_mapping_id]
EpsMapping.find(params[:eps_mapping_id])
else
@release.eps_mappings.first
end
@results = ScenarioRunStatus.includes(:scenario_name, :feature_file_name).
find(ScenarioRunStatus.where(:run_id => runs, :eps_mapping_id => @eps_mapping).
select('scenario_name_id, max(id) as id').
group('scenario_name_id').
map(&:id))
@results = @results.sort {|a,b| a.feature_file_name.name <=> b.feature_file_name.name}
@feature_file_names = @results.map(&:feature_file_name).map(&:name)
@map = {}
for srs in @results
@map[srs.feature_file_name] ||= []
@map[srs.feature_file_name] << srs
end
@passed = RunStatus.where(:name => 'Passed').first
@failed = RunStatus.where(:name => 'Failed').first
@releases = Release.order(:name)
@eps_mappings = eps_mappings_for(@release)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment