mezuro_plugin_profile_controller.rb
4.88 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
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])
project_result = content.project_result
project = content.project
render :partial => 'content_viewer/project_result', :locals => { :project_result => project_result}
end
def module_result
content = profile.articles.find(params[:id])
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])
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