montecasting 0.5.3 → 0.6.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 +89 -72
- data/Gemfile.lock +1 -1
- data/README.md +2 -2
- data/lib/montecasting/version.rb +1 -1
- data/lib/montecasting.rb +22 -22
- data/montecasting-0.5.3.gem +0 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f9a8922d9cef09b2c129389b6a351291fb9a074b3ca82f068a48d77950cecb4
|
4
|
+
data.tar.gz: e05361fa71cdbaf2eb1a97b20575067bc2a72328d9c9fa393d86e57b28fd34bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7c2ae2aa9842bf7d587e67a90134ce93709273f9c89549537148701961a7556773a2ecb181f8612ac21fc663951a81b6f084ce55cd611c62adaa6b9f493a02d
|
7
|
+
data.tar.gz: 96d8b7fb4b71662e2e880b8b32b0bb3c9d9c0d18be52e0f07321fa8632fa3506274fc81c0c5dcf164b33a1bb5bae3ca80e517fb3a9bcc511d61d0e508355594d
|
data/.idea/workspace.xml
CHANGED
@@ -3,9 +3,10 @@
|
|
3
3
|
<component name="ChangeListManager">
|
4
4
|
<list default="true" id="b096ae44-ac17-43c8-99fa-e6348bbbcd82" name="Default Changelist" comment="Ruby Gem for Project Forecasting Methods">
|
5
5
|
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
6
|
-
<change afterPath="$PROJECT_DIR$/
|
6
|
+
<change beforePath="$PROJECT_DIR$/Gemfile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/Gemfile.lock" afterDir="false" />
|
7
|
+
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
7
8
|
<change beforePath="$PROJECT_DIR$/lib/montecasting.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting.rb" afterDir="false" />
|
8
|
-
<change beforePath="$PROJECT_DIR$/lib/montecasting/
|
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$/spec/montecasting_spec.rb" beforeDir="false" afterPath="$PROJECT_DIR$/spec/montecasting_spec.rb" afterDir="false" />
|
10
11
|
</list>
|
11
12
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
@@ -19,17 +20,20 @@
|
|
19
20
|
<file pinned="false" current-in-tab="false">
|
20
21
|
<entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
|
21
22
|
<provider selected="true" editor-type-id="text-editor">
|
22
|
-
<state relative-caret-position="
|
23
|
-
<caret line="
|
23
|
+
<state relative-caret-position="279">
|
24
|
+
<caret line="69" column="13" selection-start-line="69" selection-start-column="13" selection-end-line="69" selection-end-column="13" />
|
24
25
|
</state>
|
25
26
|
</provider>
|
26
27
|
</entry>
|
27
28
|
</file>
|
28
29
|
<file pinned="false" current-in-tab="false">
|
29
|
-
<entry file="file://$PROJECT_DIR$/
|
30
|
-
<provider selected="true" editor-type-id="text-editor">
|
31
|
-
<state
|
32
|
-
<
|
30
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
31
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
32
|
+
<state split_layout="SPLIT">
|
33
|
+
<first_editor relative-caret-position="846">
|
34
|
+
<caret line="46" column="55" lean-forward="true" selection-start-line="46" selection-start-column="55" selection-end-line="46" selection-end-column="55" />
|
35
|
+
</first_editor>
|
36
|
+
<second_editor />
|
33
37
|
</state>
|
34
38
|
</provider>
|
35
39
|
</entry>
|
@@ -43,11 +47,11 @@
|
|
43
47
|
</provider>
|
44
48
|
</entry>
|
45
49
|
</file>
|
46
|
-
<file pinned="false" current-in-tab="
|
50
|
+
<file pinned="false" current-in-tab="true">
|
47
51
|
<entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
|
48
52
|
<provider selected="true" editor-type-id="text-editor">
|
49
|
-
<state relative-caret-position="
|
50
|
-
<caret line="
|
53
|
+
<state relative-caret-position="751">
|
54
|
+
<caret line="94" column="34" selection-start-line="94" selection-start-column="34" selection-end-line="94" selection-end-column="34" />
|
51
55
|
</state>
|
52
56
|
</provider>
|
53
57
|
</entry>
|
@@ -64,7 +68,7 @@
|
|
64
68
|
<file pinned="false" current-in-tab="false">
|
65
69
|
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/array.rb">
|
66
70
|
<provider selected="true" editor-type-id="text-editor">
|
67
|
-
<state relative-caret-position="
|
71
|
+
<state relative-caret-position="33880">
|
68
72
|
<caret line="1540" column="8" selection-start-line="1540" selection-start-column="8" selection-end-line="1540" selection-end-column="8" />
|
69
73
|
</state>
|
70
74
|
</provider>
|
@@ -73,7 +77,7 @@
|
|
73
77
|
<file pinned="false" current-in-tab="false">
|
74
78
|
<entry file="file://$PROJECT_DIR$/lib/montecasting/chart.rb">
|
75
79
|
<provider selected="true" editor-type-id="text-editor">
|
76
|
-
<state relative-caret-position="
|
80
|
+
<state relative-caret-position="418">
|
77
81
|
<caret line="19" column="14" selection-start-line="19" selection-start-column="14" selection-end-line="19" selection-end-column="14" />
|
78
82
|
</state>
|
79
83
|
</provider>
|
@@ -88,7 +92,7 @@
|
|
88
92
|
</provider>
|
89
93
|
</entry>
|
90
94
|
</file>
|
91
|
-
<file pinned="false" current-in-tab="
|
95
|
+
<file pinned="false" current-in-tab="false">
|
92
96
|
<entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
|
93
97
|
<provider selected="true" editor-type-id="text-editor">
|
94
98
|
<state relative-caret-position="132">
|
@@ -100,7 +104,7 @@
|
|
100
104
|
<file pinned="false" current-in-tab="false">
|
101
105
|
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/enumerable.rb">
|
102
106
|
<provider selected="true" editor-type-id="text-editor">
|
103
|
-
<state relative-caret-position="
|
107
|
+
<state relative-caret-position="3146">
|
104
108
|
<caret line="143" column="34" selection-start-line="143" selection-start-column="34" selection-end-line="143" selection-end-column="34" />
|
105
109
|
</state>
|
106
110
|
</provider>
|
@@ -133,20 +137,19 @@
|
|
133
137
|
<option value="$PROJECT_DIR$/montecasting.gemspec" />
|
134
138
|
<option value="$PROJECT_DIR$/lib/montecasting/hash.rb" />
|
135
139
|
<option value="$PROJECT_DIR$/Gemfile" />
|
136
|
-
<option value="$PROJECT_DIR$/README.md" />
|
137
|
-
<option value="$PROJECT_DIR$/lib/montecasting/version.rb" />
|
138
|
-
<option value="$PROJECT_DIR$/spec/montecasting_spec.rb" />
|
139
140
|
<option value="$PROJECT_DIR$/lib/montecasting/array.rb" />
|
140
141
|
<option value="$PROJECT_DIR$/lib/montecasting/chart.rb" />
|
142
|
+
<option value="$PROJECT_DIR$/README.md" />
|
141
143
|
<option value="$PROJECT_DIR$/lib/montecasting.rb" />
|
144
|
+
<option value="$PROJECT_DIR$/lib/montecasting/version.rb" />
|
145
|
+
<option value="$PROJECT_DIR$/spec/montecasting_spec.rb" />
|
142
146
|
</list>
|
143
147
|
</option>
|
144
148
|
</component>
|
145
|
-
<component name="ProjectFrameBounds">
|
146
|
-
<option name="
|
147
|
-
<option name="
|
148
|
-
<option name="
|
149
|
-
<option name="height" value="1277" />
|
149
|
+
<component name="ProjectFrameBounds" extendedState="6">
|
150
|
+
<option name="y" value="323" />
|
151
|
+
<option name="width" value="1440" />
|
152
|
+
<option name="height" value="877" />
|
150
153
|
</component>
|
151
154
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
152
155
|
<component name="ProjectView">
|
@@ -154,7 +157,6 @@
|
|
154
157
|
<foldersAlwaysOnTop value="true" />
|
155
158
|
</navigator>
|
156
159
|
<panes>
|
157
|
-
<pane id="Scope" />
|
158
160
|
<pane id="ProjectPane">
|
159
161
|
<subPane>
|
160
162
|
<expand>
|
@@ -162,11 +164,6 @@
|
|
162
164
|
<item name="montecasting" type="b2602c69:ProjectViewProjectNode" />
|
163
165
|
<item name="montecasting" type="462c0819:PsiDirectoryNode" />
|
164
166
|
</path>
|
165
|
-
<path>
|
166
|
-
<item name="montecasting" type="b2602c69:ProjectViewProjectNode" />
|
167
|
-
<item name="montecasting" type="462c0819:PsiDirectoryNode" />
|
168
|
-
<item name="bin" type="462c0819:PsiDirectoryNode" />
|
169
|
-
</path>
|
170
167
|
<path>
|
171
168
|
<item name="montecasting" type="b2602c69:ProjectViewProjectNode" />
|
172
169
|
<item name="montecasting" type="462c0819:PsiDirectoryNode" />
|
@@ -191,6 +188,7 @@
|
|
191
188
|
<select />
|
192
189
|
</subPane>
|
193
190
|
</pane>
|
191
|
+
<pane id="Scope" />
|
194
192
|
</panes>
|
195
193
|
</component>
|
196
194
|
<component name="PropertiesComponent">
|
@@ -378,7 +376,11 @@
|
|
378
376
|
<workItem from="1569001602054" duration="169000" />
|
379
377
|
<workItem from="1569348110256" duration="8311000" />
|
380
378
|
<workItem from="1571040695976" duration="25532000" />
|
381
|
-
<workItem from="1572033651580" duration="
|
379
|
+
<workItem from="1572033651580" duration="11645000" />
|
380
|
+
<workItem from="1573028651257" duration="1125000" />
|
381
|
+
<workItem from="1573203114709" duration="588000" />
|
382
|
+
<workItem from="1573465687690" duration="102000" />
|
383
|
+
<workItem from="1573551983791" duration="583000" />
|
382
384
|
</task>
|
383
385
|
<task id="LOCAL-00001" summary="Ruby Gem for Project Forecasting Methods">
|
384
386
|
<created>1567089862211</created>
|
@@ -513,7 +515,21 @@
|
|
513
515
|
<option name="project" value="LOCAL" />
|
514
516
|
<updated>1572012191956</updated>
|
515
517
|
</task>
|
516
|
-
<
|
518
|
+
<task id="LOCAL-00020" summary="Chart class will handle all chart's transformations">
|
519
|
+
<created>1572277278692</created>
|
520
|
+
<option name="number" value="00020" />
|
521
|
+
<option name="presentableId" value="LOCAL-00020" />
|
522
|
+
<option name="project" value="LOCAL" />
|
523
|
+
<updated>1572277278692</updated>
|
524
|
+
</task>
|
525
|
+
<task id="LOCAL-00021" summary="Ruby Gem for Project Forecasting Methods">
|
526
|
+
<created>1572358925680</created>
|
527
|
+
<option name="number" value="00021" />
|
528
|
+
<option name="presentableId" value="LOCAL-00021" />
|
529
|
+
<option name="project" value="LOCAL" />
|
530
|
+
<updated>1572358925680</updated>
|
531
|
+
</task>
|
532
|
+
<option name="localTasksCounter" value="22" />
|
517
533
|
<servers />
|
518
534
|
</component>
|
519
535
|
<component name="TestHistory">
|
@@ -549,7 +565,7 @@
|
|
549
565
|
</history-entry>
|
550
566
|
</component>
|
551
567
|
<component name="TimeTrackingManager">
|
552
|
-
<option name="totallyTimeSpent" value="
|
568
|
+
<option name="totallyTimeSpent" value="87881000" />
|
553
569
|
</component>
|
554
570
|
<component name="TodoView">
|
555
571
|
<todo-panel id="selected-file">
|
@@ -561,10 +577,10 @@
|
|
561
577
|
</todo-panel>
|
562
578
|
</component>
|
563
579
|
<component name="ToolWindowManager">
|
564
|
-
<frame x="
|
580
|
+
<frame x="0" y="23" width="2560" height="1417" extended-state="6" />
|
565
581
|
<editor active="true" />
|
566
582
|
<layout>
|
567
|
-
<window_info
|
583
|
+
<window_info content_ui="combo" id="Project" order="0" sideWeight="0.69338423" visible="true" weight="0.16481334" />
|
568
584
|
<window_info id="Structure" order="1" sideWeight="0.30661577" side_tool="true" weight="0.10515247" />
|
569
585
|
<window_info id="Favorites" order="2" side_tool="true" />
|
570
586
|
<window_info anchor="bottom" id="Message" order="0" />
|
@@ -577,7 +593,7 @@
|
|
577
593
|
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
|
578
594
|
<window_info anchor="bottom" id="Database Changes" order="8" />
|
579
595
|
<window_info anchor="bottom" id="Version Control" order="9" />
|
580
|
-
<window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.49955356" visible="true" weight="0.
|
596
|
+
<window_info active="true" anchor="bottom" id="Terminal" order="10" sideWeight="0.49955356" visible="true" weight="0.3132162" />
|
581
597
|
<window_info anchor="bottom" id="Event Log" order="11" sideWeight="0.50044644" side_tool="true" weight="0.32925898" />
|
582
598
|
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
583
599
|
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
@@ -612,6 +628,7 @@
|
|
612
628
|
<component name="VcsManagerConfiguration">
|
613
629
|
<MESSAGE value="Adding new methods to build takt times as well as montecarlo charts." />
|
614
630
|
<MESSAGE value=" Montecarlo sprint values have to previously be sorted to be depicted correctly on a chart." />
|
631
|
+
<MESSAGE value="Chart class will handle all chart's transformations" />
|
615
632
|
<MESSAGE value="Ruby Gem for Project Forecasting Methods" />
|
616
633
|
<option name="LAST_COMMIT_MESSAGE" value="Ruby Gem for Project Forecasting Methods" />
|
617
634
|
</component>
|
@@ -705,16 +722,6 @@
|
|
705
722
|
</state>
|
706
723
|
</provider>
|
707
724
|
</entry>
|
708
|
-
<entry file="file://$PROJECT_DIR$/README.md">
|
709
|
-
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
710
|
-
<state split_layout="SPLIT">
|
711
|
-
<first_editor relative-caret-position="1056">
|
712
|
-
<caret line="48" column="84" selection-start-line="48" selection-start-column="80" selection-end-line="48" selection-end-column="84" />
|
713
|
-
</first_editor>
|
714
|
-
<second_editor />
|
715
|
-
</state>
|
716
|
-
</provider>
|
717
|
-
</entry>
|
718
725
|
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/hash.rb">
|
719
726
|
<provider selected="true" editor-type-id="text-editor">
|
720
727
|
<state relative-caret-position="174">
|
@@ -722,73 +729,83 @@
|
|
722
729
|
</state>
|
723
730
|
</provider>
|
724
731
|
</entry>
|
725
|
-
<entry file="file://$
|
732
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/numeric.rb">
|
726
733
|
<provider selected="true" editor-type-id="text-editor">
|
727
|
-
<state relative-caret-position="
|
728
|
-
<caret line="
|
734
|
+
<state relative-caret-position="154">
|
735
|
+
<caret line="7" selection-start-line="7" selection-end-line="7" />
|
729
736
|
</state>
|
730
737
|
</provider>
|
731
738
|
</entry>
|
732
|
-
<entry file="file://$
|
739
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/hash.rb">
|
733
740
|
<provider selected="true" editor-type-id="text-editor">
|
734
|
-
<state relative-caret-position="
|
735
|
-
<caret line="
|
741
|
+
<state relative-caret-position="22">
|
742
|
+
<caret line="1" column="6" selection-start-line="1" selection-start-column="6" selection-end-line="1" selection-end-column="6" />
|
736
743
|
</state>
|
737
744
|
</provider>
|
738
745
|
</entry>
|
739
|
-
<entry file="file://$
|
746
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/array.rb">
|
740
747
|
<provider selected="true" editor-type-id="text-editor">
|
741
|
-
<state relative-caret-position="
|
742
|
-
<caret line="
|
748
|
+
<state relative-caret-position="264">
|
749
|
+
<caret line="12" column="6" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="6" />
|
743
750
|
</state>
|
744
751
|
</provider>
|
745
752
|
</entry>
|
746
|
-
<entry file="file://$
|
753
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/array.rb">
|
747
754
|
<provider selected="true" editor-type-id="text-editor">
|
748
|
-
<state relative-caret-position="
|
749
|
-
<caret line="
|
755
|
+
<state relative-caret-position="33880">
|
756
|
+
<caret line="1540" column="8" selection-start-line="1540" selection-start-column="8" selection-end-line="1540" selection-end-column="8" />
|
750
757
|
</state>
|
751
758
|
</provider>
|
752
759
|
</entry>
|
753
|
-
<entry file="file://$
|
760
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.6.3/gems/ruby-debug-ide-0.7.0.beta7/lib/ruby-debug-ide.rb">
|
754
761
|
<provider selected="true" editor-type-id="text-editor">
|
755
|
-
<state relative-caret-position="
|
756
|
-
<caret line="
|
762
|
+
<state relative-caret-position="418">
|
763
|
+
<caret line="19" column="15" selection-start-line="19" selection-start-column="15" selection-end-line="19" selection-end-column="15" />
|
757
764
|
</state>
|
758
765
|
</provider>
|
759
766
|
</entry>
|
760
|
-
<entry file="file://$
|
767
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/enumerable.rb">
|
761
768
|
<provider selected="true" editor-type-id="text-editor">
|
762
|
-
<state relative-caret-position="
|
763
|
-
<caret line="
|
769
|
+
<state relative-caret-position="3146">
|
770
|
+
<caret line="143" column="34" selection-start-line="143" selection-start-column="34" selection-end-line="143" selection-end-column="34" />
|
764
771
|
</state>
|
765
772
|
</provider>
|
766
773
|
</entry>
|
767
774
|
<entry file="file://$PROJECT_DIR$/lib/montecasting/chart.rb">
|
768
775
|
<provider selected="true" editor-type-id="text-editor">
|
769
|
-
<state relative-caret-position="
|
776
|
+
<state relative-caret-position="418">
|
770
777
|
<caret line="19" column="14" selection-start-line="19" selection-start-column="14" selection-end-line="19" selection-end-column="14" />
|
771
778
|
</state>
|
772
779
|
</provider>
|
773
780
|
</entry>
|
774
|
-
<entry file="file://$PROJECT_DIR$/
|
781
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
782
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
783
|
+
<state split_layout="SPLIT">
|
784
|
+
<first_editor relative-caret-position="846">
|
785
|
+
<caret line="46" column="55" lean-forward="true" selection-start-line="46" selection-start-column="55" selection-end-line="46" selection-end-column="55" />
|
786
|
+
</first_editor>
|
787
|
+
<second_editor />
|
788
|
+
</state>
|
789
|
+
</provider>
|
790
|
+
</entry>
|
791
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
|
775
792
|
<provider selected="true" editor-type-id="text-editor">
|
776
|
-
<state relative-caret-position="
|
777
|
-
<caret line="
|
793
|
+
<state relative-caret-position="132">
|
794
|
+
<caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
|
778
795
|
</state>
|
779
796
|
</provider>
|
780
797
|
</entry>
|
781
798
|
<entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
|
782
799
|
<provider selected="true" editor-type-id="text-editor">
|
783
|
-
<state relative-caret-position="
|
784
|
-
<caret line="
|
800
|
+
<state relative-caret-position="279">
|
801
|
+
<caret line="69" column="13" selection-start-line="69" selection-start-column="13" selection-end-line="69" selection-end-column="13" />
|
785
802
|
</state>
|
786
803
|
</provider>
|
787
804
|
</entry>
|
788
|
-
<entry file="file://$PROJECT_DIR$/
|
805
|
+
<entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
|
789
806
|
<provider selected="true" editor-type-id="text-editor">
|
790
|
-
<state relative-caret-position="
|
791
|
-
<caret line="
|
807
|
+
<state relative-caret-position="751">
|
808
|
+
<caret line="94" column="34" selection-start-line="94" selection-start-column="34" selection-end-line="94" selection-end-column="34" />
|
792
809
|
</state>
|
793
810
|
</provider>
|
794
811
|
</entry>
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -40,9 +40,9 @@ Or install it yourself as:
|
|
40
40
|
|
41
41
|
#### Charts
|
42
42
|
|
43
|
-
Montecasting::Charts.chart_takt_times(
|
43
|
+
Montecasting::Charts.chart_takt_times(array_of_time = []) → [[{:x=> X,:y=> Y}]] or nil
|
44
44
|
|
45
|
-
Montecasting::Charts.chart_montecarlo(
|
45
|
+
Montecasting::Charts.chart_montecarlo(array_of_time = [], backlog_items = 0, days_iteration = 0) → [[{:x=> X,:y=> Y}]] or nil
|
46
46
|
|
47
47
|
Montecasting::Charts.chart_cycle_time(array_of_time = [], round_to = 0.5) → [[{:x=> X,:y=> Y}]] or nil
|
48
48
|
|
data/lib/montecasting/version.rb
CHANGED
data/lib/montecasting.rb
CHANGED
@@ -8,24 +8,24 @@ module Montecasting
|
|
8
8
|
|
9
9
|
#Metrics class will contains methods to get specific product development metrics pr
|
10
10
|
class Metrics
|
11
|
-
def self.variance(
|
12
|
-
return nil unless
|
11
|
+
def self.variance(array_of_time = [])
|
12
|
+
return nil unless array_of_time.all? Numeric
|
13
13
|
variance = 0
|
14
|
-
avg =
|
15
|
-
|
14
|
+
avg = array_of_time.map(&:abs).average
|
15
|
+
array_of_time.each {|spt|
|
16
16
|
variance += ((avg - spt) ** 2)
|
17
17
|
}
|
18
18
|
Math.sqrt(variance)
|
19
19
|
end
|
20
20
|
|
21
|
-
def self.median(
|
22
|
-
return nil unless
|
23
|
-
|
21
|
+
def self.median(array_of_time = [])
|
22
|
+
return nil unless array_of_time.all? Numeric
|
23
|
+
array_of_time.map(&:abs).median
|
24
24
|
end
|
25
25
|
|
26
|
-
def self.wip_limit(
|
27
|
-
return nil unless
|
28
|
-
(
|
26
|
+
def self.wip_limit(array_of_time, start_date, end_date = DateTime.now)
|
27
|
+
return nil unless array_of_time.all? Numeric
|
28
|
+
(array_of_time.map(&:abs).average * throughput(array_of_time.count, start_date, end_date))
|
29
29
|
end
|
30
30
|
|
31
31
|
def self.throughput(number_of_issues, start_date, end_date = DateTime.now)
|
@@ -37,9 +37,9 @@ module Montecasting
|
|
37
37
|
(start_date..end_date).select {|day| !day.sunday? && !day.saturday?}
|
38
38
|
end
|
39
39
|
|
40
|
-
def self.percent_of_items_at(
|
41
|
-
return nil unless
|
42
|
-
|
40
|
+
def self.percent_of_items_at(array_of_time, time_units = 0)
|
41
|
+
return nil unless array_of_time.all? Numeric
|
42
|
+
array_of_time.select {|time| time < time_units}.count.percent_of(array_of_time.count)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -62,19 +62,19 @@ module Montecasting
|
|
62
62
|
#Charts class will contains all those methods to charts data, using rickshaw JS library it's pretty straight forward.
|
63
63
|
class Charts
|
64
64
|
|
65
|
-
def self.chart_takt_times(
|
66
|
-
return nil unless
|
67
|
-
chart_builder Forecasting.takt_times(
|
65
|
+
def self.chart_takt_times(array_of_time = [])
|
66
|
+
return nil unless array_of_time.all? Numeric
|
67
|
+
chart_builder Forecasting.takt_times(array_of_time)&.sort
|
68
68
|
end
|
69
69
|
|
70
|
-
def self.chart_montecarlo(
|
71
|
-
return nil unless
|
72
|
-
chart_builder Forecasting.takt_times(
|
70
|
+
def self.chart_montecarlo(array_of_time = [], backlog_items = 0, days_iteration = 0, rand_generator = 1000)
|
71
|
+
return nil unless array_of_time.all? Numeric
|
72
|
+
chart_builder Forecasting.takt_times(array_of_time,rand_generator)&.map! {|elem| ((elem * backlog_items) / days_iteration).ceil(0)}
|
73
73
|
end
|
74
74
|
|
75
|
-
def self.chart_cycle_time(
|
76
|
-
return nil unless
|
77
|
-
ct_sorted =
|
75
|
+
def self.chart_cycle_time(array_of_time = [], round_to = 0.5)
|
76
|
+
return nil unless array_of_time.all? Numeric
|
77
|
+
ct_sorted = array_of_time.sort.map {|ct| ct.abs.to_f.round(round_to)}
|
78
78
|
chart = Chart.new(ct_sorted)
|
79
79
|
[chart.group_by,chart.cumulative(ct_sorted.count)]
|
80
80
|
end
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: montecasting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduard Garcia Castello
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -89,6 +89,7 @@ files:
|
|
89
89
|
- montecasting-0.4.0.gem
|
90
90
|
- montecasting-0.5.0.gem
|
91
91
|
- montecasting-0.5.2.gem
|
92
|
+
- montecasting-0.5.3.gem
|
92
93
|
- montecasting.gemspec
|
93
94
|
homepage: https://github.com/eddygarcas/montecasting
|
94
95
|
licenses:
|