montecasting 0.2.3 → 0.2.4
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 +95 -38
- data/Gemfile +1 -1
- data/Gemfile.lock +4 -1
- data/lib/montecasting/array.rb +37 -0
- data/lib/montecasting/version.rb +1 -1
- data/lib/montecasting.rb +18 -4
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62e9dea601665301368b538de29341cb7fe12db57499dae979d4081c2974a6f6
|
4
|
+
data.tar.gz: 8abb36be3898932f678a36346eda94768b27046790a8ee6011495265c9ff0fb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd6d268c96fc2c0f819b906b88eb4f2606af694ba4d242280455b400cf0c265af0cc479d3573800fd151c63f52566ddffc4d97212c52d2f8c206116e41a6da94
|
7
|
+
data.tar.gz: b4b0fcd58333d0220320fc82711fee7712ec50fd18e8f6f689160e9edc1c9c2dc96919ef4132c16267cc33c8396b8194745b863b6f614e331fd96de19c729024
|
data/.idea/workspace.xml
CHANGED
@@ -3,12 +3,7 @@
|
|
3
3
|
<component name="ChangeListManager">
|
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
|
-
<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" />
|
8
|
-
<change beforePath="$PROJECT_DIR$/lib/montecasting.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting.rb" afterDir="false" />
|
9
6
|
<change beforePath="$PROJECT_DIR$/lib/montecasting/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting/version.rb" afterDir="false" />
|
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" />
|
12
7
|
</list>
|
13
8
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
14
9
|
<option name="SHOW_DIALOG" value="false" />
|
@@ -21,8 +16,17 @@
|
|
21
16
|
<file pinned="false" current-in-tab="false">
|
22
17
|
<entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
|
23
18
|
<provider selected="true" editor-type-id="text-editor">
|
24
|
-
<state relative-caret-position="
|
25
|
-
<caret line="
|
19
|
+
<state relative-caret-position="721">
|
20
|
+
<caret line="33" column="5" lean-forward="true" selection-start-line="33" selection-start-column="5" selection-end-line="33" selection-end-column="5" />
|
21
|
+
</state>
|
22
|
+
</provider>
|
23
|
+
</entry>
|
24
|
+
</file>
|
25
|
+
<file pinned="false" current-in-tab="false">
|
26
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/array.rb">
|
27
|
+
<provider selected="true" editor-type-id="text-editor">
|
28
|
+
<state relative-caret-position="374">
|
29
|
+
<caret line="17" selection-start-line="17" selection-end-line="17" />
|
26
30
|
</state>
|
27
31
|
</provider>
|
28
32
|
</entry>
|
@@ -35,49 +39,54 @@
|
|
35
39
|
<file pinned="false" current-in-tab="false">
|
36
40
|
<entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
|
37
41
|
<provider selected="true" editor-type-id="text-editor">
|
38
|
-
<state relative-caret-position="
|
39
|
-
<caret line="
|
42
|
+
<state relative-caret-position="418">
|
43
|
+
<caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
|
40
44
|
</state>
|
41
45
|
</provider>
|
42
46
|
</entry>
|
43
47
|
</file>
|
44
48
|
<file pinned="false" current-in-tab="false">
|
45
|
-
<entry file="file://$PROJECT_DIR$/
|
49
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
46
50
|
<provider selected="true" editor-type-id="text-editor">
|
47
|
-
<state relative-caret-position="
|
48
|
-
<caret line="
|
51
|
+
<state relative-caret-position="88">
|
52
|
+
<caret line="4" selection-start-line="4" selection-end-line="4" />
|
49
53
|
</state>
|
50
54
|
</provider>
|
51
55
|
</entry>
|
52
56
|
</file>
|
53
57
|
<file pinned="false" current-in-tab="false">
|
54
|
-
<entry file="file://$
|
58
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/time.rb">
|
55
59
|
<provider selected="true" editor-type-id="text-editor">
|
56
|
-
<state relative-caret-position="
|
57
|
-
<caret line="
|
60
|
+
<state relative-caret-position="1493">
|
61
|
+
<caret line="117" column="13" selection-start-line="117" selection-start-column="13" selection-end-line="117" selection-end-column="13" />
|
58
62
|
</state>
|
59
63
|
</provider>
|
60
64
|
</entry>
|
61
65
|
</file>
|
62
|
-
<file pinned="false" current-in-tab="
|
63
|
-
<entry file="file://$PROJECT_DIR$/
|
66
|
+
<file pinned="false" current-in-tab="false">
|
67
|
+
<entry file="file://$PROJECT_DIR$/montecasting.gemspec">
|
64
68
|
<provider selected="true" editor-type-id="text-editor">
|
65
69
|
<state relative-caret-position="132">
|
66
|
-
<caret line="6"
|
70
|
+
<caret line="6" column="42" selection-start-line="6" selection-start-column="42" selection-end-line="6" selection-end-column="42" />
|
67
71
|
</state>
|
68
72
|
</provider>
|
69
73
|
</entry>
|
70
74
|
</file>
|
71
75
|
<file pinned="false" current-in-tab="false">
|
72
|
-
<entry file="file://$PROJECT_DIR$/
|
76
|
+
<entry file="file://$PROJECT_DIR$/Gemfile.lock">
|
73
77
|
<provider selected="true" editor-type-id="text-editor" />
|
74
78
|
</entry>
|
75
79
|
</file>
|
76
80
|
<file pinned="false" current-in-tab="false">
|
77
|
-
<entry file="file://$PROJECT_DIR$/.
|
81
|
+
<entry file="file://$PROJECT_DIR$/.rspec_status">
|
82
|
+
<provider selected="true" editor-type-id="text-editor" />
|
83
|
+
</entry>
|
84
|
+
</file>
|
85
|
+
<file pinned="false" current-in-tab="true">
|
86
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
|
78
87
|
<provider selected="true" editor-type-id="text-editor">
|
79
|
-
<state>
|
80
|
-
<caret column="
|
88
|
+
<state relative-caret-position="88">
|
89
|
+
<caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
|
81
90
|
</state>
|
82
91
|
</provider>
|
83
92
|
</entry>
|
@@ -100,8 +109,10 @@
|
|
100
109
|
<option value="$PROJECT_DIR$/.gitignore" />
|
101
110
|
<option value="$PROJECT_DIR$/lib/numeric.rb" />
|
102
111
|
<option value="$PROJECT_DIR$/montecasting.gemspec" />
|
103
|
-
<option value="$PROJECT_DIR$/
|
112
|
+
<option value="$PROJECT_DIR$/lib/montecasting/array.rb" />
|
113
|
+
<option value="$PROJECT_DIR$/Gemfile" />
|
104
114
|
<option value="$PROJECT_DIR$/lib/montecasting.rb" />
|
115
|
+
<option value="$PROJECT_DIR$/spec/montecasting_spec.rb" />
|
105
116
|
<option value="$PROJECT_DIR$/lib/montecasting/version.rb" />
|
106
117
|
</list>
|
107
118
|
</option>
|
@@ -157,6 +168,10 @@
|
|
157
168
|
<item name="montecasting" type="462c0819:PsiDirectoryNode" />
|
158
169
|
<item name="spec" type="462c0819:PsiDirectoryNode" />
|
159
170
|
</path>
|
171
|
+
<path>
|
172
|
+
<item name="montecasting" type="b2602c69:ProjectViewProjectNode" />
|
173
|
+
<item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
|
174
|
+
</path>
|
160
175
|
</expand>
|
161
176
|
<select />
|
162
177
|
</subPane>
|
@@ -168,6 +183,7 @@
|
|
168
183
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
169
184
|
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
170
185
|
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
186
|
+
<property name="settings.editor.selected.configurable" value="org.jetbrains.plugins.ruby.settings.RubyActiveModuleSdkConfigurable" />
|
171
187
|
</component>
|
172
188
|
<component name="RunDashboard">
|
173
189
|
<option name="ruleStates">
|
@@ -229,7 +245,7 @@
|
|
229
245
|
<option name="number" value="Default" />
|
230
246
|
<option name="presentableId" value="Default" />
|
231
247
|
<updated>1567089679850</updated>
|
232
|
-
<workItem from="1567089680950" duration="
|
248
|
+
<workItem from="1567089680950" duration="17370000" />
|
233
249
|
</task>
|
234
250
|
<task id="LOCAL-00001" summary="Ruby Gem for Project Forecasting Methods">
|
235
251
|
<created>1567089862211</created>
|
@@ -252,7 +268,21 @@
|
|
252
268
|
<option name="project" value="LOCAL" />
|
253
269
|
<updated>1567160943788</updated>
|
254
270
|
</task>
|
255
|
-
<
|
271
|
+
<task id="LOCAL-00004" summary="Ruby Gem for Project Forecasting Methods">
|
272
|
+
<created>1567175778182</created>
|
273
|
+
<option name="number" value="00004" />
|
274
|
+
<option name="presentableId" value="LOCAL-00004" />
|
275
|
+
<option name="project" value="LOCAL" />
|
276
|
+
<updated>1567175778182</updated>
|
277
|
+
</task>
|
278
|
+
<task id="LOCAL-00005" summary="Ruby Gem for Project Forecasting Methods">
|
279
|
+
<created>1567180594715</created>
|
280
|
+
<option name="number" value="00005" />
|
281
|
+
<option name="presentableId" value="LOCAL-00005" />
|
282
|
+
<option name="project" value="LOCAL" />
|
283
|
+
<updated>1567180594715</updated>
|
284
|
+
</task>
|
285
|
+
<option name="localTasksCounter" value="6" />
|
256
286
|
<servers />
|
257
287
|
</component>
|
258
288
|
<component name="TestHistory">
|
@@ -261,7 +291,7 @@
|
|
261
291
|
</history-entry>
|
262
292
|
</component>
|
263
293
|
<component name="TimeTrackingManager">
|
264
|
-
<option name="totallyTimeSpent" value="
|
294
|
+
<option name="totallyTimeSpent" value="17370000" />
|
265
295
|
</component>
|
266
296
|
<component name="ToolWindowManager">
|
267
297
|
<frame x="119" y="23" width="2282" height="1417" extended-state="0" />
|
@@ -273,7 +303,7 @@
|
|
273
303
|
<window_info anchor="bottom" id="Docker" show_stripe_button="false" />
|
274
304
|
<window_info anchor="bottom" id="Database Changes" />
|
275
305
|
<window_info anchor="bottom" id="Version Control" />
|
276
|
-
<window_info anchor="bottom" id="Terminal" sideWeight="0.49955356"
|
306
|
+
<window_info anchor="bottom" id="Terminal" sideWeight="0.49955356" weight="0.32925898" />
|
277
307
|
<window_info anchor="bottom" id="Event Log" sideWeight="0.50044644" side_tool="true" weight="0.32925898" />
|
278
308
|
<window_info anchor="bottom" id="Message" order="0" />
|
279
309
|
<window_info anchor="bottom" id="Find" order="1" />
|
@@ -333,38 +363,65 @@
|
|
333
363
|
<entry file="file://$PROJECT_DIR$/lib/numeric.rb">
|
334
364
|
<provider selected="true" editor-type-id="text-editor">
|
335
365
|
<state relative-caret-position="242">
|
336
|
-
<caret line="11" column="3"
|
366
|
+
<caret line="11" column="3" selection-start-line="11" selection-start-column="3" selection-end-line="11" selection-end-column="3" />
|
337
367
|
</state>
|
338
368
|
</provider>
|
339
369
|
</entry>
|
340
|
-
<entry file="file://$PROJECT_DIR$/
|
370
|
+
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
371
|
+
<provider selected="true" editor-type-id="text-editor" />
|
372
|
+
</entry>
|
373
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/array.rb">
|
341
374
|
<provider selected="true" editor-type-id="text-editor">
|
342
|
-
<state relative-caret-position="
|
343
|
-
<caret line="
|
375
|
+
<state relative-caret-position="374">
|
376
|
+
<caret line="17" selection-start-line="17" selection-end-line="17" />
|
344
377
|
</state>
|
345
378
|
</provider>
|
346
379
|
</entry>
|
347
|
-
<entry file="file://$
|
380
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/time.rb">
|
381
|
+
<provider selected="true" editor-type-id="text-editor">
|
382
|
+
<state relative-caret-position="1493">
|
383
|
+
<caret line="117" column="13" selection-start-line="117" selection-start-column="13" selection-end-line="117" selection-end-column="13" />
|
384
|
+
</state>
|
385
|
+
</provider>
|
386
|
+
</entry>
|
387
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
388
|
+
<provider selected="true" editor-type-id="text-editor">
|
389
|
+
<state relative-caret-position="88">
|
390
|
+
<caret line="4" selection-start-line="4" selection-end-line="4" />
|
391
|
+
</state>
|
392
|
+
</provider>
|
393
|
+
</entry>
|
394
|
+
<entry file="file://$PROJECT_DIR$/Gemfile.lock">
|
395
|
+
<provider selected="true" editor-type-id="text-editor" />
|
396
|
+
</entry>
|
397
|
+
<entry file="file://$PROJECT_DIR$/.rspec_status">
|
348
398
|
<provider selected="true" editor-type-id="text-editor" />
|
349
399
|
</entry>
|
350
400
|
<entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
|
351
401
|
<provider selected="true" editor-type-id="text-editor">
|
352
|
-
<state relative-caret-position="
|
353
|
-
<caret line="
|
402
|
+
<state relative-caret-position="418">
|
403
|
+
<caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
|
354
404
|
</state>
|
355
405
|
</provider>
|
356
406
|
</entry>
|
357
407
|
<entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
|
358
408
|
<provider selected="true" editor-type-id="text-editor">
|
359
|
-
<state relative-caret-position="
|
360
|
-
<caret line="
|
409
|
+
<state relative-caret-position="721">
|
410
|
+
<caret line="33" column="5" lean-forward="true" selection-start-line="33" selection-start-column="5" selection-end-line="33" selection-end-column="5" />
|
361
411
|
</state>
|
362
412
|
</provider>
|
363
413
|
</entry>
|
364
|
-
<entry file="file://$PROJECT_DIR$/
|
414
|
+
<entry file="file://$PROJECT_DIR$/montecasting.gemspec">
|
365
415
|
<provider selected="true" editor-type-id="text-editor">
|
366
416
|
<state relative-caret-position="132">
|
367
|
-
<caret line="6"
|
417
|
+
<caret line="6" column="42" selection-start-line="6" selection-start-column="42" selection-end-line="6" selection-end-column="42" />
|
418
|
+
</state>
|
419
|
+
</provider>
|
420
|
+
</entry>
|
421
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
|
422
|
+
<provider selected="true" editor-type-id="text-editor">
|
423
|
+
<state relative-caret-position="88">
|
424
|
+
<caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
|
368
425
|
</state>
|
369
426
|
</provider>
|
370
427
|
</entry>
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
class Array
|
3
|
+
def array_to_hash
|
4
|
+
each {|sprint|
|
5
|
+
#the string must contain a par elements, first would be the kay and the next one the value
|
6
|
+
#Fist step it transforma a string into an array and then creates a hash getting pairs.
|
7
|
+
yield Hash[*sprint.chop[(sprint.index('[')+1)..-1].gsub!('=',',').split(',')]
|
8
|
+
}
|
9
|
+
end
|
10
|
+
|
11
|
+
def each_sum_done key_status = [:done]
|
12
|
+
counter = 0
|
13
|
+
each {|issue|
|
14
|
+
counter += yield issue if key_status.include? issue.status.to_sym
|
15
|
+
}
|
16
|
+
counter
|
17
|
+
end
|
18
|
+
|
19
|
+
def each_sum
|
20
|
+
counter = 0
|
21
|
+
each {|issue|
|
22
|
+
counter += yield issue
|
23
|
+
}
|
24
|
+
counter
|
25
|
+
end
|
26
|
+
|
27
|
+
def average
|
28
|
+
inject {|sum, el| sum + el}.to_f / size
|
29
|
+
end
|
30
|
+
|
31
|
+
def median
|
32
|
+
sorted = sort
|
33
|
+
len = sorted.length
|
34
|
+
(sorted[(len - 1) / 2] + sorted[len / 2]) / 2.0
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
data/lib/montecasting/version.rb
CHANGED
data/lib/montecasting.rb
CHANGED
@@ -1,16 +1,30 @@
|
|
1
1
|
require "montecasting/version"
|
2
2
|
require_relative 'numeric'
|
3
|
+
require_relative 'montecasting/array'
|
3
4
|
|
4
5
|
module Montecasting
|
5
6
|
|
6
7
|
#Metrics class will contains methods to get specific product development metrics pr
|
7
8
|
class Metrics
|
8
|
-
def self.variance
|
9
|
+
def self.variance array_of_units = []
|
9
10
|
variance = 0
|
10
|
-
|
11
|
-
|
11
|
+
avg = array_of_units.map{|i| i.abs}.average
|
12
|
+
array_of_units.each {|spt|
|
13
|
+
variance += ((avg - spt) ** 2)
|
12
14
|
}
|
13
|
-
Math.sqrt(variance)
|
15
|
+
Math.sqrt(variance)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.wip_limit(array_of_cycle_time, start_date, end_date = DateTime.now)
|
19
|
+
(array_of_cycle_time.map(&:abs).average * throughput(array_of_cycle_time.count,start_date,end_date))
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.throughput number_of_issues, start_date, end_date = DateTime.now
|
23
|
+
((number_of_issues).to_f / week_days(start_date,end_date).count)
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.week_days start_date, enddate = DateTime.now
|
27
|
+
(start_date..enddate).select { |day| !day.sunday? && !day.saturday? }
|
14
28
|
end
|
15
29
|
end
|
16
30
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: montecasting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduard Garcia Castello
|
@@ -74,6 +74,7 @@ files:
|
|
74
74
|
- bin/console
|
75
75
|
- bin/setup
|
76
76
|
- lib/montecasting.rb
|
77
|
+
- lib/montecasting/array.rb
|
77
78
|
- lib/montecasting/version.rb
|
78
79
|
- lib/numeric.rb
|
79
80
|
- montecasting.gemspec
|