montecasting 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/workspace.xml +98 -22
- data/Gemfile.lock +1 -1
- data/lib/montecasting/version.rb +1 -1
- data/lib/montecasting.rb +28 -14
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd100f860a6e212e2ab1fd373aefffb66d95dcf235d4d60c1c05a134a210f451
|
4
|
+
data.tar.gz: 13ee39b0122594f99c3bead9e2477565637078cbf02eb3a8416e1e4be1fa5df4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb6029d51835b7a8fe0d2ca68d5cd20e61650db60697649da70ce91eb2a6435e7ef0e777d8b96cd27fe5995119ce27492ac8a14e873f69d0a3d54d6182fe2d9c
|
7
|
+
data.tar.gz: bfa6e6a64fe0110cc35da87338dee47ddff17bd4e681149f2e36e91daddae55e47022995d360e6fc7bb6983d79dd1ae949d5d852b205f62a99b52eab78bc6bfa
|
data/.idea/workspace.xml
CHANGED
@@ -4,9 +4,11 @@
|
|
4
4
|
<list default="true" id="b096ae44-ac17-43c8-99fa-e6348bbbcd82" name="Default Changelist" comment="">
|
5
5
|
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
6
6
|
<change afterPath="$PROJECT_DIR$/lib/numeric.rb" afterDir="false" />
|
7
|
+
<change beforePath="$PROJECT_DIR$/Gemfile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/Gemfile.lock" afterDir="false" />
|
7
8
|
<change beforePath="$PROJECT_DIR$/lib/montecasting.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting.rb" afterDir="false" />
|
8
9
|
<change beforePath="$PROJECT_DIR$/lib/montecasting/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting/version.rb" afterDir="false" />
|
9
10
|
<change beforePath="$PROJECT_DIR$/montecasting.gemspec" beforeDir="false" afterPath="$PROJECT_DIR$/montecasting.gemspec" afterDir="false" />
|
11
|
+
<change beforePath="$PROJECT_DIR$/spec/montecasting_spec.rb" beforeDir="false" afterPath="$PROJECT_DIR$/spec/montecasting_spec.rb" afterDir="false" />
|
10
12
|
</list>
|
11
13
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
12
14
|
<option name="SHOW_DIALOG" value="false" />
|
@@ -16,11 +18,25 @@
|
|
16
18
|
</component>
|
17
19
|
<component name="FileEditorManager">
|
18
20
|
<leaf>
|
19
|
-
<file pinned="false" current-in-tab="
|
21
|
+
<file pinned="false" current-in-tab="false">
|
20
22
|
<entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
|
21
23
|
<provider selected="true" editor-type-id="text-editor">
|
22
|
-
<state relative-caret-position="
|
23
|
-
<caret line="15"
|
24
|
+
<state relative-caret-position="202">
|
25
|
+
<caret line="15" lean-forward="true" selection-start-line="15" selection-end-line="15" />
|
26
|
+
</state>
|
27
|
+
</provider>
|
28
|
+
</entry>
|
29
|
+
</file>
|
30
|
+
<file pinned="false" current-in-tab="false">
|
31
|
+
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
32
|
+
<provider selected="true" editor-type-id="text-editor" />
|
33
|
+
</entry>
|
34
|
+
</file>
|
35
|
+
<file pinned="false" current-in-tab="false">
|
36
|
+
<entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
|
37
|
+
<provider selected="true" editor-type-id="text-editor">
|
38
|
+
<state relative-caret-position="396">
|
39
|
+
<caret line="18" column="5" lean-forward="true" selection-start-line="18" selection-start-column="5" selection-end-line="18" selection-end-column="5" />
|
24
40
|
</state>
|
25
41
|
</provider>
|
26
42
|
</entry>
|
@@ -37,13 +53,13 @@
|
|
37
53
|
<file pinned="false" current-in-tab="false">
|
38
54
|
<entry file="file://$PROJECT_DIR$/montecasting.gemspec">
|
39
55
|
<provider selected="true" editor-type-id="text-editor">
|
40
|
-
<state relative-caret-position="
|
41
|
-
<caret line="
|
56
|
+
<state relative-caret-position="132">
|
57
|
+
<caret line="6" column="42" selection-start-line="6" selection-start-column="42" selection-end-line="6" selection-end-column="42" />
|
42
58
|
</state>
|
43
59
|
</provider>
|
44
60
|
</entry>
|
45
61
|
</file>
|
46
|
-
<file pinned="false" current-in-tab="
|
62
|
+
<file pinned="false" current-in-tab="true">
|
47
63
|
<entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
|
48
64
|
<provider selected="true" editor-type-id="text-editor">
|
49
65
|
<state relative-caret-position="132">
|
@@ -84,8 +100,9 @@
|
|
84
100
|
<option value="$PROJECT_DIR$/.gitignore" />
|
85
101
|
<option value="$PROJECT_DIR$/lib/numeric.rb" />
|
86
102
|
<option value="$PROJECT_DIR$/montecasting.gemspec" />
|
87
|
-
<option value="$PROJECT_DIR$/
|
103
|
+
<option value="$PROJECT_DIR$/spec/montecasting_spec.rb" />
|
88
104
|
<option value="$PROJECT_DIR$/lib/montecasting.rb" />
|
105
|
+
<option value="$PROJECT_DIR$/lib/montecasting/version.rb" />
|
89
106
|
</list>
|
90
107
|
</option>
|
91
108
|
</component>
|
@@ -164,6 +181,46 @@
|
|
164
181
|
</list>
|
165
182
|
</option>
|
166
183
|
</component>
|
184
|
+
<component name="RunManager">
|
185
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" type="RSpecRunConfigurationType" factoryName="RSpec" temporary="true">
|
186
|
+
<module name="montecasting" />
|
187
|
+
<predefined_log_file enabled="true" id="RUBY_RSPEC" />
|
188
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
189
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
|
190
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
191
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
192
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
193
|
+
<envs>
|
194
|
+
<env name="JRUBY_OPTS" value="-X+O" />
|
195
|
+
</envs>
|
196
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
197
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
198
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov">
|
199
|
+
<COVERAGE_PATTERN ENABLED="true">
|
200
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
201
|
+
</COVERAGE_PATTERN>
|
202
|
+
</EXTENSION>
|
203
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
204
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/montecasting_spec.rb" />
|
205
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
206
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="'**/*_spec.rb'" />
|
207
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
|
208
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
209
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
210
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
211
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
|
212
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
213
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
214
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
215
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
216
|
+
<method v="2" />
|
217
|
+
</configuration>
|
218
|
+
<recent_temporary>
|
219
|
+
<list>
|
220
|
+
<item itemvalue="RSpec.Run spec 'montecasting_spec': montecasting" />
|
221
|
+
</list>
|
222
|
+
</recent_temporary>
|
223
|
+
</component>
|
167
224
|
<component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" />
|
168
225
|
<component name="TaskManager">
|
169
226
|
<task active="true" id="Default" summary="Default task">
|
@@ -172,7 +229,7 @@
|
|
172
229
|
<option name="number" value="Default" />
|
173
230
|
<option name="presentableId" value="Default" />
|
174
231
|
<updated>1567089679850</updated>
|
175
|
-
<workItem from="1567089680950" duration="
|
232
|
+
<workItem from="1567089680950" duration="12394000" />
|
176
233
|
</task>
|
177
234
|
<task id="LOCAL-00001" summary="Ruby Gem for Project Forecasting Methods">
|
178
235
|
<created>1567089862211</created>
|
@@ -198,11 +255,17 @@
|
|
198
255
|
<option name="localTasksCounter" value="4" />
|
199
256
|
<servers />
|
200
257
|
</component>
|
258
|
+
<component name="TestHistory">
|
259
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.08.30 at 13h 43m 52s.xml">
|
260
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
261
|
+
</history-entry>
|
262
|
+
</component>
|
201
263
|
<component name="TimeTrackingManager">
|
202
|
-
<option name="totallyTimeSpent" value="
|
264
|
+
<option name="totallyTimeSpent" value="12394000" />
|
203
265
|
</component>
|
204
266
|
<component name="ToolWindowManager">
|
205
267
|
<frame x="119" y="23" width="2282" height="1417" extended-state="0" />
|
268
|
+
<editor active="true" />
|
206
269
|
<layout>
|
207
270
|
<window_info id="Favorites" side_tool="true" />
|
208
271
|
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.26741073" />
|
@@ -210,11 +273,11 @@
|
|
210
273
|
<window_info anchor="bottom" id="Docker" show_stripe_button="false" />
|
211
274
|
<window_info anchor="bottom" id="Database Changes" />
|
212
275
|
<window_info anchor="bottom" id="Version Control" />
|
213
|
-
<window_info anchor="bottom" id="Terminal" sideWeight="0.49955356" weight="0.32925898" />
|
276
|
+
<window_info anchor="bottom" id="Terminal" sideWeight="0.49955356" visible="true" weight="0.32925898" />
|
214
277
|
<window_info anchor="bottom" id="Event Log" sideWeight="0.50044644" side_tool="true" weight="0.32925898" />
|
215
278
|
<window_info anchor="bottom" id="Message" order="0" />
|
216
279
|
<window_info anchor="bottom" id="Find" order="1" />
|
217
|
-
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.
|
280
|
+
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.49955356" weight="0.32925898" />
|
218
281
|
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
219
282
|
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
220
283
|
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
@@ -253,6 +316,9 @@
|
|
253
316
|
<MESSAGE value="Ruby Gem for Project Forecasting Methods" />
|
254
317
|
<option name="LAST_COMMIT_MESSAGE" value="Ruby Gem for Project Forecasting Methods" />
|
255
318
|
</component>
|
319
|
+
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
320
|
+
<SUITE FILE_PATH="coverage/montecasting@Run_spec__montecasting_spec___montecasting.rcov" NAME="Run spec 'montecasting_spec': montecasting Coverage Results" MODIFIED="1567165431800" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="montecasting" />
|
321
|
+
</component>
|
256
322
|
<component name="editorHistoryManager">
|
257
323
|
<entry file="file://$PROJECT_DIR$/Rakefile">
|
258
324
|
<provider selected="true" editor-type-id="text-editor" />
|
@@ -264,13 +330,6 @@
|
|
264
330
|
</state>
|
265
331
|
</provider>
|
266
332
|
</entry>
|
267
|
-
<entry file="file://$PROJECT_DIR$/montecasting.gemspec">
|
268
|
-
<provider selected="true" editor-type-id="text-editor">
|
269
|
-
<state relative-caret-position="220">
|
270
|
-
<caret line="10" column="86" selection-start-line="10" selection-start-column="86" selection-end-line="10" selection-end-column="86" />
|
271
|
-
</state>
|
272
|
-
</provider>
|
273
|
-
</entry>
|
274
333
|
<entry file="file://$PROJECT_DIR$/lib/numeric.rb">
|
275
334
|
<provider selected="true" editor-type-id="text-editor">
|
276
335
|
<state relative-caret-position="242">
|
@@ -278,17 +337,34 @@
|
|
278
337
|
</state>
|
279
338
|
</provider>
|
280
339
|
</entry>
|
281
|
-
<entry file="file://$PROJECT_DIR$/
|
340
|
+
<entry file="file://$PROJECT_DIR$/montecasting.gemspec">
|
282
341
|
<provider selected="true" editor-type-id="text-editor">
|
283
342
|
<state relative-caret-position="132">
|
284
|
-
<caret line="6"
|
343
|
+
<caret line="6" column="42" selection-start-line="6" selection-start-column="42" selection-end-line="6" selection-end-column="42" />
|
344
|
+
</state>
|
345
|
+
</provider>
|
346
|
+
</entry>
|
347
|
+
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
348
|
+
<provider selected="true" editor-type-id="text-editor" />
|
349
|
+
</entry>
|
350
|
+
<entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
|
351
|
+
<provider selected="true" editor-type-id="text-editor">
|
352
|
+
<state relative-caret-position="396">
|
353
|
+
<caret line="18" column="5" lean-forward="true" selection-start-line="18" selection-start-column="5" selection-end-line="18" selection-end-column="5" />
|
285
354
|
</state>
|
286
355
|
</provider>
|
287
356
|
</entry>
|
288
357
|
<entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
|
289
358
|
<provider selected="true" editor-type-id="text-editor">
|
290
|
-
<state relative-caret-position="
|
291
|
-
<caret line="15"
|
359
|
+
<state relative-caret-position="202">
|
360
|
+
<caret line="15" lean-forward="true" selection-start-line="15" selection-end-line="15" />
|
361
|
+
</state>
|
362
|
+
</provider>
|
363
|
+
</entry>
|
364
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
|
365
|
+
<provider selected="true" editor-type-id="text-editor">
|
366
|
+
<state relative-caret-position="132">
|
367
|
+
<caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
|
292
368
|
</state>
|
293
369
|
</provider>
|
294
370
|
</entry>
|
data/Gemfile.lock
CHANGED
data/lib/montecasting/version.rb
CHANGED
data/lib/montecasting.rb
CHANGED
@@ -3,21 +3,35 @@ require_relative 'numeric'
|
|
3
3
|
|
4
4
|
module Montecasting
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
variance
|
10
|
-
|
11
|
-
|
6
|
+
#Metrics class will contains methods to get specific product development metrics pr
|
7
|
+
class Metrics
|
8
|
+
def self.variance average_closed_points = 0, closed_by_sprint = []
|
9
|
+
variance = 0
|
10
|
+
closed_by_sprint.each {|spt|
|
11
|
+
variance += ((average_closed_points - spt.to_i) ** 2)
|
12
|
+
}
|
13
|
+
Math.sqrt(variance).round(0)
|
14
|
+
end
|
12
15
|
end
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
# Here will place all those method to generate forecasting charts
|
18
|
+
class Forecasting
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
#Charts class will contains all those methods to charts data, using rickshaw JS library it's pretty straight forward.
|
24
|
+
class Charts
|
25
|
+
|
26
|
+
def self.chart_cycle_time array_of_cycle_times = [], round_to = 0.5
|
27
|
+
return unless array_of_cycle_times.all? {|i| i.is_a?(Numeric) }
|
28
|
+
data = Array.new {Array.new}
|
29
|
+
ct_sorted = array_of_cycle_times.sort.map {|ct| ct.abs.to_f.round(round_to) }
|
30
|
+
max_index = ct_sorted.last
|
31
|
+
data[0] = [*0..max_index].map {|index| {x: index, y: index}}
|
32
|
+
data[1] = [*0..max_index].map {|index| {x: index, y: ct_sorted.count {|elem| elem.eql? index }}}
|
33
|
+
data[2] = data[1].map.with_index {|storycount, index| {x: index, y: data[1].take(index).inject(0) {|acc, elem| acc + elem[:y]}.percent_of(ct_sorted.count).round(1)}}
|
34
|
+
data
|
35
|
+
end
|
22
36
|
end
|
23
37
|
end
|