mezuro_plugin_profile_controller.rb
5.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
class MezuroPluginProfileController < ProfileController
append_view_path File.join(File.dirname(__FILE__) + '/../views')
def project_state
content = profile.articles.find(params[:id])
project = content.project
state = project.error.nil? ? project.state : "ERROR"
render :text => state
end
def project_error
content = profile.articles.find(params[:id])
project = content.project
render :partial => 'content_viewer/project_error', :locals => { :project => project }
end
def project_result
content = profile.articles.find(params[:id])
date = params[:date]
project_result = date.nil? ? content.project_result : content.get_date_result(date)
project = content.project
render :partial => 'content_viewer/project_result', :locals => { :project_result => project_result}
end
def module_result
content = profile.articles.find(params[:id])
date = params[:date]
project_result = date.nil? ? content.project_result : content.get_date_result(date)
module_result = content.module_result(params[:module_name])
render :partial => 'content_viewer/module_result', :locals => { :module_result => module_result}
end
def project_tree
content = profile.articles.find(params[:id])
date = params[:date]
project_result = date.nil? ? content.project_result : content.get_date_result(date)
project_result = content.project_result
source_tree = project_result.node_of(params[:module_name])
render :partial =>'content_viewer/source_tree', :locals => { :source_tree => source_tree, :project_name => content.project.name}
end
def choose_base_tool
@configuration_name = params[:configuration_name]
@tool_names = Kalibro::Client::BaseToolClient.new
end
def choose_metric
@configuration_name = params[:configuration_name]
@collector_name = params[:collector_name]
@collector = Kalibro::Client::BaseToolClient.new.base_tool(@collector_name)
end
def new_metric_configuration
metric_name = params[:metric_name]
collector_name = params[:collector_name]
collector = Kalibro::Client::BaseToolClient.new.base_tool(collector_name)
@metric = collector.supported_metrics.find {|metric| metric.name == metric_name}
@configuration_name = params[:configuration_name]
end
def edit_metric_configuration
metric_name = params[:metric_name]
@configuration_name = params[:configuration_name]
@metric_configuration = Kalibro::Client::MetricConfigurationClient.new.metric_configuration(@configuration_name, metric_name)
@metric = @metric_configuration.metric
end
def create_metric_configuration
@configuration_name = params[:configuration_name]
metric_configuration = new_metric_configuration_instance
Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
end
def update_metric_configuration
@configuration_name = params[:configuration_name]
metric_configuration = new_metric_configuration_instance
Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
end
def new_range
@metric_name = params[:metric_name]
@configuration_name = params[:configuration_name]
end
def create_range
@range = new_range_instance
configuration_name = params[:configuration_name]
metric_name = params[:metric_name]
metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name)
metric_configuration.add_range(@range)
metric_configuration_client.save(metric_configuration, configuration_name)
end
def remove_metric_configuration
configuration_name = params[:configuration_name]
metric_name = params[:metric_name]
Kalibro::Client::MetricConfigurationClient.new.remove(configuration_name, metric_name)
redirect_to "/#{profile.identifier}/#{configuration_name.downcase.gsub(/\s/, '-')}"
end
private
def new_metric_configuration_instance
metric_configuration = Kalibro::Entities::MetricConfiguration.new
metric_configuration.metric = Kalibro::Entities::NativeMetric.new
metric_configuration.metric.name = params[:metric][:name]
metric_configuration.metric.description = params[:description]
metric_configuration.metric.origin = params[:metric][:origin]
metric_configuration.metric.scope = params[:scope]
metric_configuration.metric.language = params[:language]
metric_configuration.code = params[:metric_configuration][:code]
metric_configuration.weight = params[:metric_configuration][:weight]
metric_configuration.aggregation_form = params[:metric_configuration][:aggregation]
metric_configuration
end
def new_range_instance
range = Kalibro::Entities::Range.new
range.beginning = params[:range][:beginning]
range.end = params[:range][:end]
range.label = params[:range][:label]
range.grade = params[:range][:grade]
range.color = params[:range][:color]
range.comments = params[:range][:comments]
range
end
end