Commit 7e9306373b0958d87ba6750d4dbeda54787659b7
Committed by
Paulo Meireles
1 parent
fb81a867
Exists in
master
and in
29 other branches
[Mezuro] Moved create and save methods to model.rb
Showing
4 changed files
with
43 additions
and
38 deletions
Show diff stats
plugins/mezuro/lib/kalibro/configuration.rb
... | ... | @@ -22,20 +22,12 @@ class Kalibro::Configuration < Kalibro::Model |
22 | 22 | new request("Configuration", :get_configuration, {:configuration_name => configuration_name})[:configuration] |
23 | 23 | end |
24 | 24 | |
25 | - def self.create(configuration_content) | |
26 | - new ({ | |
27 | - :name => configuration_content.name, | |
28 | - :description => configuration_content.description | |
29 | - }).save | |
30 | - end | |
31 | - | |
32 | - def save | |
33 | - begin | |
34 | - self.class.request("Configuration", :save_configuration, {:configuration => to_hash}) | |
35 | - true | |
36 | - rescue Exception => error | |
37 | - false | |
38 | - end | |
25 | + def self.create(content) | |
26 | + attributes = { | |
27 | + :name => content.name, | |
28 | + :description => content.description | |
29 | + } | |
30 | + super attributes | |
39 | 31 | end |
40 | 32 | |
41 | 33 | def self.all_names | ... | ... |
plugins/mezuro/lib/kalibro/metric_configuration.rb
... | ... | @@ -48,17 +48,6 @@ class Kalibro::MetricConfiguration < Kalibro::Model |
48 | 48 | metric_configuration |
49 | 49 | end |
50 | 50 | |
51 | - def save | |
52 | - begin | |
53 | - self.class.request("MetricConfiguration", :save_metric_configuration, { | |
54 | - :metric_configuration => to_hash, | |
55 | - :configuration_name => configuration_name}) | |
56 | - true | |
57 | - rescue Exception => error | |
58 | - false | |
59 | - end | |
60 | - end | |
61 | - | |
62 | 51 | def destroy |
63 | 52 | self.class.request("MetricConfiguration", :remove_metric_configuration, { |
64 | 53 | :configuration_name => configuration_name, |
... | ... | @@ -75,5 +64,9 @@ class Kalibro::MetricConfiguration < Kalibro::Model |
75 | 64 | def native?(value) |
76 | 65 | value.has_key?(:origin) ? true : false |
77 | 66 | end |
78 | - | |
67 | + | |
68 | + def save_params | |
69 | + {:metric_configuration => to_hash, :configuration_name => configuration_name} | |
70 | + end | |
71 | + | |
79 | 72 | end | ... | ... |
plugins/mezuro/lib/kalibro/model.rb
... | ... | @@ -35,6 +35,19 @@ class Kalibro::Model |
35 | 35 | def self.to_object value |
36 | 36 | value.kind_of?(Hash) ? new(value) : value |
37 | 37 | end |
38 | + | |
39 | + def self.create(attributes={}) | |
40 | + new(attributes).save | |
41 | + end | |
42 | + | |
43 | + def save | |
44 | + begin | |
45 | + self.class.request(save_endpoint, save_action, save_params) | |
46 | + true | |
47 | + rescue Exception => error | |
48 | + false | |
49 | + end | |
50 | + end | |
38 | 51 | |
39 | 52 | protected |
40 | 53 | |
... | ... | @@ -72,5 +85,20 @@ class Kalibro::Model |
72 | 85 | milliseconds = "." + (date.sec_fraction * 60 * 60 * 24 * 1000).to_s |
73 | 86 | date.to_s[0..18] + milliseconds + date.to_s[19..-1] |
74 | 87 | end |
75 | - | |
88 | + | |
89 | + def class_name | |
90 | + self.class.name.gsub(/Kalibro::/,"") | |
91 | + end | |
92 | + | |
93 | + def save_endpoint | |
94 | + class_name | |
95 | + end | |
96 | + | |
97 | + def save_action | |
98 | + "save_#{class_name.underscore}".to_sym | |
99 | + end | |
100 | + | |
101 | + def save_params | |
102 | + {class_name.underscore.to_sym => self.to_hash} | |
103 | + end | |
76 | 104 | end | ... | ... |
plugins/mezuro/lib/kalibro/project.rb
... | ... | @@ -11,7 +11,7 @@ class Kalibro::Project < Kalibro::Model |
11 | 11 | end |
12 | 12 | |
13 | 13 | def self.create(content) |
14 | - new({ | |
14 | + attributes = { | |
15 | 15 | :name => content.name, |
16 | 16 | :license => content.license, |
17 | 17 | :description => content.description, |
... | ... | @@ -20,22 +20,14 @@ class Kalibro::Project < Kalibro::Model |
20 | 20 | :address => content.repository_url |
21 | 21 | }, |
22 | 22 | :configuration_name => content.configuration_name |
23 | - }).save | |
23 | + } | |
24 | + super attributes | |
24 | 25 | end |
25 | 26 | |
26 | 27 | def destroy |
27 | 28 | self.class.request("Project", :remove_project, {:project_name => name}) |
28 | 29 | end |
29 | 30 | |
30 | - def save | |
31 | - begin | |
32 | - self.class.request("Project", :save_project, {:project => to_hash}) | |
33 | - true | |
34 | - rescue Exception => error | |
35 | - false | |
36 | - end | |
37 | - end | |
38 | - | |
39 | 31 | def repository=(value) |
40 | 32 | @repository = Kalibro::Repository.to_object value |
41 | 33 | end | ... | ... |