montecasting 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.idea/workspace.xml +223 -53
- data/Gemfile.lock +1 -1
- data/README.md +3 -0
- data/lib/montecasting/array.rb +0 -8
- data/lib/montecasting/version.rb +1 -1
- data/lib/montecasting.rb +25 -16
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f6017e1e55b9b62bc83ca853d889138d8ca1f88a6dff69fe9888c178dee80963
|
|
4
|
+
data.tar.gz: 5129fa237671d3ea2e05dc4a10fa9abe22bea608a136017c8c3fedfbfb1c8db1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 634577f47906bc38c0f12d0469c76a47c7fc0148bf9582bbf0fdf844b5a5cd172cd2d06f066ba171b034ab874944786962ccbee8ee23ae28eb7713527e9ea8d6
|
|
7
|
+
data.tar.gz: 214f101ff8540c0728290ced0458fb2e42c9a518030608af1051e1246089ccb47df3f63482de8b62ce39ebadc1a266684f4824dc98fdc6a61f124def85295d40
|
data/.idea/workspace.xml
CHANGED
|
@@ -3,7 +3,10 @@
|
|
|
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 beforePath="$PROJECT_DIR$/lib/montecasting.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting.rb" afterDir="false" />
|
|
7
|
+
<change beforePath="$PROJECT_DIR$/lib/montecasting/array.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting/array.rb" afterDir="false" />
|
|
6
8
|
<change beforePath="$PROJECT_DIR$/lib/montecasting/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting/version.rb" afterDir="false" />
|
|
9
|
+
<change beforePath="$PROJECT_DIR$/spec/montecasting_spec.rb" beforeDir="false" afterPath="$PROJECT_DIR$/spec/montecasting_spec.rb" afterDir="false" />
|
|
7
10
|
</list>
|
|
8
11
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
|
9
12
|
<option name="SHOW_DIALOG" value="false" />
|
|
@@ -16,53 +19,53 @@
|
|
|
16
19
|
<file pinned="false" current-in-tab="false">
|
|
17
20
|
<entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
|
|
18
21
|
<provider selected="true" editor-type-id="text-editor">
|
|
19
|
-
<state relative-caret-position="
|
|
20
|
-
<caret line="
|
|
22
|
+
<state relative-caret-position="-486">
|
|
23
|
+
<caret line="20" column="33" selection-start-line="20" selection-start-column="33" selection-end-line="20" selection-end-column="33" />
|
|
21
24
|
</state>
|
|
22
25
|
</provider>
|
|
23
26
|
</entry>
|
|
24
27
|
</file>
|
|
25
28
|
<file pinned="false" current-in-tab="false">
|
|
26
|
-
<entry file="file://$
|
|
29
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/enumerable.rb">
|
|
27
30
|
<provider selected="true" editor-type-id="text-editor">
|
|
28
|
-
<state relative-caret-position="
|
|
29
|
-
<caret line="
|
|
31
|
+
<state relative-caret-position="320">
|
|
32
|
+
<caret line="520" column="8" selection-start-line="520" selection-start-column="8" selection-end-line="520" selection-end-column="8" />
|
|
30
33
|
</state>
|
|
31
34
|
</provider>
|
|
32
35
|
</entry>
|
|
33
36
|
</file>
|
|
34
37
|
<file pinned="false" current-in-tab="false">
|
|
35
|
-
<entry file="file://$
|
|
38
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/array.rb">
|
|
36
39
|
<provider selected="true" editor-type-id="text-editor">
|
|
37
|
-
<state relative-caret-position="
|
|
38
|
-
<caret line="
|
|
40
|
+
<state relative-caret-position="320">
|
|
41
|
+
<caret line="1972" column="8" selection-start-line="1972" selection-start-column="8" selection-end-line="1972" selection-end-column="8" />
|
|
39
42
|
</state>
|
|
40
43
|
</provider>
|
|
41
44
|
</entry>
|
|
42
45
|
</file>
|
|
43
46
|
<file pinned="false" current-in-tab="false">
|
|
44
|
-
<entry file="file://$PROJECT_DIR$/
|
|
47
|
+
<entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
|
|
45
48
|
<provider selected="true" editor-type-id="text-editor">
|
|
46
|
-
<state relative-caret-position="
|
|
47
|
-
<caret line="
|
|
49
|
+
<state relative-caret-position="506">
|
|
50
|
+
<caret line="23" lean-forward="true" selection-start-line="23" selection-end-line="23" />
|
|
48
51
|
</state>
|
|
49
52
|
</provider>
|
|
50
53
|
</entry>
|
|
51
54
|
</file>
|
|
52
55
|
<file pinned="false" current-in-tab="false">
|
|
53
|
-
<entry file="file://$
|
|
56
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/numeric.rb">
|
|
54
57
|
<provider selected="true" editor-type-id="text-editor">
|
|
55
|
-
<state relative-caret-position="
|
|
56
|
-
<caret line="
|
|
58
|
+
<state relative-caret-position="242">
|
|
59
|
+
<caret line="11" column="3" selection-start-line="11" selection-start-column="3" selection-end-line="11" selection-end-column="3" />
|
|
57
60
|
</state>
|
|
58
61
|
</provider>
|
|
59
62
|
</entry>
|
|
60
63
|
</file>
|
|
61
64
|
<file pinned="false" current-in-tab="false">
|
|
62
|
-
<entry file="file://$PROJECT_DIR$/montecasting.
|
|
65
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/array.rb">
|
|
63
66
|
<provider selected="true" editor-type-id="text-editor">
|
|
64
|
-
<state relative-caret-position="
|
|
65
|
-
<caret line="
|
|
67
|
+
<state relative-caret-position="440">
|
|
68
|
+
<caret line="20" column="3" lean-forward="true" selection-start-line="20" selection-start-column="3" selection-end-line="20" selection-end-column="3" />
|
|
66
69
|
</state>
|
|
67
70
|
</provider>
|
|
68
71
|
</entry>
|
|
@@ -71,8 +74,8 @@
|
|
|
71
74
|
<entry file="file://$PROJECT_DIR$/README.md">
|
|
72
75
|
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
|
73
76
|
<state split_layout="SPLIT">
|
|
74
|
-
<first_editor relative-caret-position="
|
|
75
|
-
<caret line="
|
|
77
|
+
<first_editor relative-caret-position="1320">
|
|
78
|
+
<caret line="60" column="8" selection-start-line="60" selection-start-column="8" selection-end-line="60" selection-end-column="8" />
|
|
76
79
|
</first_editor>
|
|
77
80
|
<second_editor />
|
|
78
81
|
</state>
|
|
@@ -136,11 +139,11 @@
|
|
|
136
139
|
</list>
|
|
137
140
|
</option>
|
|
138
141
|
</component>
|
|
139
|
-
<component name="ProjectFrameBounds"
|
|
140
|
-
<option name="x" value="
|
|
141
|
-
<option name="y" value="
|
|
142
|
-
<option name="width" value="
|
|
143
|
-
<option name="height" value="
|
|
142
|
+
<component name="ProjectFrameBounds">
|
|
143
|
+
<option name="x" value="412" />
|
|
144
|
+
<option name="y" value="30" />
|
|
145
|
+
<option name="width" value="1815" />
|
|
146
|
+
<option name="height" value="1417" />
|
|
144
147
|
</component>
|
|
145
148
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
|
146
149
|
<component name="ProjectView">
|
|
@@ -148,7 +151,6 @@
|
|
|
148
151
|
<foldersAlwaysOnTop value="true" />
|
|
149
152
|
</navigator>
|
|
150
153
|
<panes>
|
|
151
|
-
<pane id="Scope" />
|
|
152
154
|
<pane id="ProjectPane">
|
|
153
155
|
<subPane>
|
|
154
156
|
<expand>
|
|
@@ -185,13 +187,15 @@
|
|
|
185
187
|
<select />
|
|
186
188
|
</subPane>
|
|
187
189
|
</pane>
|
|
190
|
+
<pane id="Scope" />
|
|
188
191
|
</panes>
|
|
189
192
|
</component>
|
|
190
193
|
<component name="PropertiesComponent">
|
|
194
|
+
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
|
191
195
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
192
196
|
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
|
193
197
|
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
|
194
|
-
<property name="settings.editor.selected.configurable" value="
|
|
198
|
+
<property name="settings.editor.selected.configurable" value="configurable.group.editor" />
|
|
195
199
|
</component>
|
|
196
200
|
<component name="RecentsManager">
|
|
197
201
|
<key name="MoveFile.RECENT_KEYS">
|
|
@@ -210,8 +214,41 @@
|
|
|
210
214
|
</list>
|
|
211
215
|
</option>
|
|
212
216
|
</component>
|
|
213
|
-
<component name="RunManager">
|
|
214
|
-
<configuration name="
|
|
217
|
+
<component name="RunManager" selected="RSpec.Run spec 'montecasting_spec': montecasting">
|
|
218
|
+
<configuration name="Montecasting Send an array which contains things other than numbers: montecasting" type="RSpecRunConfigurationType" factoryName="RSpec" temporary="true">
|
|
219
|
+
<module name="montecasting" />
|
|
220
|
+
<predefined_log_file enabled="true" id="RUBY_RSPEC" />
|
|
221
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
222
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
|
|
223
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
224
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
225
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
226
|
+
<envs>
|
|
227
|
+
<env name="JRUBY_OPTS" value="-X+O" />
|
|
228
|
+
</envs>
|
|
229
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
|
230
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
|
231
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov">
|
|
232
|
+
<COVERAGE_PATTERN ENABLED="true">
|
|
233
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
|
234
|
+
</COVERAGE_PATTERN>
|
|
235
|
+
</EXTENSION>
|
|
236
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
|
237
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/montecasting_spec.rb" />
|
|
238
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
|
239
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="'**/*_spec.rb'" />
|
|
240
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="Montecasting Send an array which contains things other than numbers" />
|
|
241
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
|
242
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
|
243
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
|
244
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
|
|
245
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
|
246
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
|
247
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
|
248
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
|
249
|
+
<method v="2" />
|
|
250
|
+
</configuration>
|
|
251
|
+
<configuration name="Montecasting Send empty array to get the takt times: montecasting" type="RSpecRunConfigurationType" factoryName="RSpec" temporary="true">
|
|
215
252
|
<module name="montecasting" />
|
|
216
253
|
<predefined_log_file enabled="true" id="RUBY_RSPEC" />
|
|
217
254
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
@@ -233,6 +270,72 @@
|
|
|
233
270
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/montecasting_spec.rb" />
|
|
234
271
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
|
235
272
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="'**/*_spec.rb'" />
|
|
273
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="Montecasting Send empty array to get the takt times" />
|
|
274
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
|
275
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
|
276
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
|
277
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
|
|
278
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
|
279
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
|
280
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
|
281
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
|
282
|
+
<method v="2" />
|
|
283
|
+
</configuration>
|
|
284
|
+
<configuration name="Montecasting get a combination of #ocurences of the cycle time array: montecasting" type="RSpecRunConfigurationType" factoryName="RSpec" temporary="true">
|
|
285
|
+
<module name="montecasting" />
|
|
286
|
+
<predefined_log_file enabled="true" id="RUBY_RSPEC" />
|
|
287
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
288
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
|
|
289
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="true" />
|
|
290
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="rbenv: 2.6.3" />
|
|
291
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
292
|
+
<envs>
|
|
293
|
+
<env name="JRUBY_OPTS" value="-X+O" />
|
|
294
|
+
</envs>
|
|
295
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
|
296
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
|
297
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov">
|
|
298
|
+
<COVERAGE_PATTERN ENABLED="true">
|
|
299
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
|
300
|
+
</COVERAGE_PATTERN>
|
|
301
|
+
</EXTENSION>
|
|
302
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
|
303
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/montecasting_spec.rb" />
|
|
304
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
|
305
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="'**/*_spec.rb'" />
|
|
306
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="Montecasting get a combination of #ocurences of the cycle time array" />
|
|
307
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
|
308
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
|
309
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
|
310
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
|
|
311
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
|
312
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
|
313
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
|
314
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
|
315
|
+
<method v="2" />
|
|
316
|
+
</configuration>
|
|
317
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" type="RSpecRunConfigurationType" factoryName="RSpec" temporary="true">
|
|
318
|
+
<module name="montecasting" />
|
|
319
|
+
<predefined_log_file enabled="true" id="RUBY_RSPEC" />
|
|
320
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
321
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
|
|
322
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="true" />
|
|
323
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="rbenv: 2.6.3" />
|
|
324
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
325
|
+
<envs>
|
|
326
|
+
<env name="JRUBY_OPTS" value="-X+O" />
|
|
327
|
+
</envs>
|
|
328
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
|
329
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
|
330
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov">
|
|
331
|
+
<COVERAGE_PATTERN ENABLED="true">
|
|
332
|
+
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
|
333
|
+
</COVERAGE_PATTERN>
|
|
334
|
+
</EXTENSION>
|
|
335
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
|
336
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$MODULE_DIR$/spec/montecasting_spec.rb" />
|
|
337
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
|
338
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="'**/*_spec.rb'" />
|
|
236
339
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
|
|
237
340
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
|
238
341
|
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
|
@@ -247,6 +350,9 @@
|
|
|
247
350
|
<recent_temporary>
|
|
248
351
|
<list>
|
|
249
352
|
<item itemvalue="RSpec.Run spec 'montecasting_spec': montecasting" />
|
|
353
|
+
<item itemvalue="RSpec.Montecasting Send an array which contains things other than numbers: montecasting" />
|
|
354
|
+
<item itemvalue="RSpec.Montecasting Send empty array to get the takt times: montecasting" />
|
|
355
|
+
<item itemvalue="RSpec.Montecasting get a combination of #ocurences of the cycle time array: montecasting" />
|
|
250
356
|
</list>
|
|
251
357
|
</recent_temporary>
|
|
252
358
|
</component>
|
|
@@ -259,7 +365,13 @@
|
|
|
259
365
|
<option name="presentableId" value="Default" />
|
|
260
366
|
<updated>1567089679850</updated>
|
|
261
367
|
<workItem from="1567089680950" duration="18608000" />
|
|
262
|
-
<workItem from="1567414586349" duration="
|
|
368
|
+
<workItem from="1567414586349" duration="5211000" />
|
|
369
|
+
<workItem from="1567518250957" duration="1041000" />
|
|
370
|
+
<workItem from="1568278205621" duration="1497000" />
|
|
371
|
+
<workItem from="1568713630536" duration="479000" />
|
|
372
|
+
<workItem from="1568742150603" duration="2613000" />
|
|
373
|
+
<workItem from="1568804163183" duration="4250000" />
|
|
374
|
+
<workItem from="1568903822546" duration="5673000" />
|
|
263
375
|
</task>
|
|
264
376
|
<task id="LOCAL-00001" summary="Ruby Gem for Project Forecasting Methods">
|
|
265
377
|
<created>1567089862211</created>
|
|
@@ -310,16 +422,50 @@
|
|
|
310
422
|
<option name="project" value="LOCAL" />
|
|
311
423
|
<updated>1567417423329</updated>
|
|
312
424
|
</task>
|
|
313
|
-
<
|
|
425
|
+
<task id="LOCAL-00008" summary="Ruby Gem for Project Forecasting Methods">
|
|
426
|
+
<created>1567431288540</created>
|
|
427
|
+
<option name="number" value="00008" />
|
|
428
|
+
<option name="presentableId" value="LOCAL-00008" />
|
|
429
|
+
<option name="project" value="LOCAL" />
|
|
430
|
+
<updated>1567431288540</updated>
|
|
431
|
+
</task>
|
|
432
|
+
<option name="localTasksCounter" value="9" />
|
|
314
433
|
<servers />
|
|
315
434
|
</component>
|
|
316
435
|
<component name="TestHistory">
|
|
317
|
-
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.
|
|
436
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 12m 11s.xml">
|
|
437
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
438
|
+
</history-entry>
|
|
439
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 12m 44s.xml">
|
|
440
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
441
|
+
</history-entry>
|
|
442
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 13m 00s.xml">
|
|
443
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
444
|
+
</history-entry>
|
|
445
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 13m 01s.xml">
|
|
446
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
447
|
+
</history-entry>
|
|
448
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 13m 07s.xml">
|
|
449
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
450
|
+
</history-entry>
|
|
451
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 13m 32s.xml">
|
|
452
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
453
|
+
</history-entry>
|
|
454
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 13m 57s.xml">
|
|
455
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
456
|
+
</history-entry>
|
|
457
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 42m 57s.xml">
|
|
458
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
459
|
+
</history-entry>
|
|
460
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 44m 40s.xml">
|
|
461
|
+
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
462
|
+
</history-entry>
|
|
463
|
+
<history-entry file="Run_spec_'montecasting_spec'__montecasting - 2019.09.20 at 16h 45m 30s.xml">
|
|
318
464
|
<configuration name="Run spec 'montecasting_spec': montecasting" configurationId="RSpecRunConfigurationType" />
|
|
319
465
|
</history-entry>
|
|
320
466
|
</component>
|
|
321
467
|
<component name="TimeTrackingManager">
|
|
322
|
-
<option name="totallyTimeSpent" value="
|
|
468
|
+
<option name="totallyTimeSpent" value="39372000" />
|
|
323
469
|
</component>
|
|
324
470
|
<component name="TodoView">
|
|
325
471
|
<todo-panel id="selected-file">
|
|
@@ -331,23 +477,23 @@
|
|
|
331
477
|
</todo-panel>
|
|
332
478
|
</component>
|
|
333
479
|
<component name="ToolWindowManager">
|
|
334
|
-
<frame x="
|
|
480
|
+
<frame x="412" y="30" width="1815" height="1417" extended-state="0" />
|
|
335
481
|
<editor active="true" />
|
|
336
482
|
<layout>
|
|
337
|
-
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.
|
|
483
|
+
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.11618725" />
|
|
338
484
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
|
339
485
|
<window_info id="Favorites" order="2" side_tool="true" />
|
|
340
486
|
<window_info anchor="bottom" id="Message" order="0" />
|
|
341
487
|
<window_info anchor="bottom" id="Find" order="1" />
|
|
342
|
-
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.49955356" weight="0.
|
|
343
|
-
<window_info anchor="bottom" id="Debug" order="3" weight="0.
|
|
488
|
+
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.49955356" visible="true" weight="0.35064936" />
|
|
489
|
+
<window_info anchor="bottom" id="Debug" order="3" weight="0.39954165" />
|
|
344
490
|
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
|
345
491
|
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
|
346
492
|
<window_info anchor="bottom" id="TODO" order="6" weight="0.32925898" />
|
|
347
493
|
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
|
|
348
494
|
<window_info anchor="bottom" id="Database Changes" order="8" />
|
|
349
495
|
<window_info anchor="bottom" id="Version Control" order="9" />
|
|
350
|
-
<window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.49955356"
|
|
496
|
+
<window_info anchor="bottom" id="Terminal" order="10" sideWeight="0.49955356" weight="0.32543927" />
|
|
351
497
|
<window_info anchor="bottom" id="Event Log" order="11" sideWeight="0.50044644" side_tool="true" weight="0.32925898" />
|
|
352
498
|
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
|
353
499
|
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
|
@@ -384,7 +530,10 @@
|
|
|
384
530
|
<option name="LAST_COMMIT_MESSAGE" value="Ruby Gem for Project Forecasting Methods" />
|
|
385
531
|
</component>
|
|
386
532
|
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
|
387
|
-
<SUITE FILE_PATH="coverage/montecasting@
|
|
533
|
+
<SUITE FILE_PATH="coverage/montecasting@Montecasting_get_a_combination_of__ocurences_of_the_cycle_time_array__montecasting.rcov" NAME="Montecasting get a combination of #ocurences of the cycle time array: montecasting Coverage Results" MODIFIED="1568800292631" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="montecasting" />
|
|
534
|
+
<SUITE FILE_PATH="coverage/montecasting@Montecasting_Send_empty_array_to_get_the_takt_times__montecasting.rcov" NAME="Montecasting Send empty array to get the takt times: montecasting Coverage Results" MODIFIED="1568970202345" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="montecasting" />
|
|
535
|
+
<SUITE FILE_PATH="coverage/montecasting@Montecasting_Send_an_array_which_contains_things_other_than_numbers__montecasting.rcov" NAME="Montecasting Send an array which contains things other than numbers: montecasting Coverage Results" MODIFIED="1568985776851" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="montecasting" />
|
|
536
|
+
<SUITE FILE_PATH="coverage/montecasting@Run_spec__montecasting_spec___montecasting.rcov" NAME="Run spec 'montecasting_spec': montecasting Coverage Results" MODIFIED="1568990729706" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="montecasting" />
|
|
388
537
|
</component>
|
|
389
538
|
<component name="editorHistoryManager">
|
|
390
539
|
<entry file="file://$PROJECT_DIR$/Rakefile">
|
|
@@ -397,16 +546,16 @@
|
|
|
397
546
|
</state>
|
|
398
547
|
</provider>
|
|
399
548
|
</entry>
|
|
400
|
-
<entry file="file://$PROJECT_DIR$/
|
|
549
|
+
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
|
550
|
+
<provider selected="true" editor-type-id="text-editor" />
|
|
551
|
+
</entry>
|
|
552
|
+
<entry file="file://$USER_HOME$/.rvm/gems/ruby-2.4.0/gems/debase-0.2.3.beta5/lib/debase.rb">
|
|
401
553
|
<provider selected="true" editor-type-id="text-editor">
|
|
402
|
-
<state relative-caret-position="
|
|
403
|
-
<caret line="
|
|
554
|
+
<state relative-caret-position="66">
|
|
555
|
+
<caret line="3" selection-start-line="3" selection-end-line="3" />
|
|
404
556
|
</state>
|
|
405
557
|
</provider>
|
|
406
558
|
</entry>
|
|
407
|
-
<entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
|
|
408
|
-
<provider selected="true" editor-type-id="text-editor" />
|
|
409
|
-
</entry>
|
|
410
559
|
<entry file="file://$PROJECT_DIR$/Gemfile">
|
|
411
560
|
<provider selected="true" editor-type-id="text-editor">
|
|
412
561
|
<state relative-caret-position="88">
|
|
@@ -431,8 +580,8 @@
|
|
|
431
580
|
<entry file="file://$PROJECT_DIR$/README.md">
|
|
432
581
|
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
|
433
582
|
<state split_layout="SPLIT">
|
|
434
|
-
<first_editor relative-caret-position="
|
|
435
|
-
<caret line="
|
|
583
|
+
<first_editor relative-caret-position="1320">
|
|
584
|
+
<caret line="60" column="8" selection-start-line="60" selection-start-column="8" selection-end-line="60" selection-end-column="8" />
|
|
436
585
|
</first_editor>
|
|
437
586
|
<second_editor />
|
|
438
587
|
</state>
|
|
@@ -444,24 +593,45 @@
|
|
|
444
593
|
<entry file="file://$PROJECT_DIR$/.rspec_status">
|
|
445
594
|
<provider selected="true" editor-type-id="text-editor" />
|
|
446
595
|
</entry>
|
|
596
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting/numeric.rb">
|
|
597
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
598
|
+
<state relative-caret-position="242">
|
|
599
|
+
<caret line="11" column="3" selection-start-line="11" selection-start-column="3" selection-end-line="11" selection-end-column="3" />
|
|
600
|
+
</state>
|
|
601
|
+
</provider>
|
|
602
|
+
</entry>
|
|
447
603
|
<entry file="file://$PROJECT_DIR$/lib/montecasting/array.rb">
|
|
448
604
|
<provider selected="true" editor-type-id="text-editor">
|
|
449
|
-
<state relative-caret-position="
|
|
450
|
-
<caret line="
|
|
605
|
+
<state relative-caret-position="440">
|
|
606
|
+
<caret line="20" column="3" lean-forward="true" selection-start-line="20" selection-start-column="3" selection-end-line="20" selection-end-column="3" />
|
|
451
607
|
</state>
|
|
452
608
|
</provider>
|
|
453
609
|
</entry>
|
|
454
|
-
<entry file="file://$
|
|
610
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/array.rb">
|
|
611
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
612
|
+
<state relative-caret-position="320">
|
|
613
|
+
<caret line="1972" column="8" selection-start-line="1972" selection-start-column="8" selection-end-line="1972" selection-end-column="8" />
|
|
614
|
+
</state>
|
|
615
|
+
</provider>
|
|
616
|
+
</entry>
|
|
617
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/enumerable.rb">
|
|
455
618
|
<provider selected="true" editor-type-id="text-editor">
|
|
456
|
-
<state relative-caret-position="
|
|
457
|
-
<caret line="
|
|
619
|
+
<state relative-caret-position="320">
|
|
620
|
+
<caret line="520" column="8" selection-start-line="520" selection-start-column="8" selection-end-line="520" selection-end-column="8" />
|
|
458
621
|
</state>
|
|
459
622
|
</provider>
|
|
460
623
|
</entry>
|
|
461
624
|
<entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
|
|
462
625
|
<provider selected="true" editor-type-id="text-editor">
|
|
463
|
-
<state relative-caret-position="
|
|
464
|
-
<caret line="
|
|
626
|
+
<state relative-caret-position="506">
|
|
627
|
+
<caret line="23" lean-forward="true" selection-start-line="23" selection-end-line="23" />
|
|
628
|
+
</state>
|
|
629
|
+
</provider>
|
|
630
|
+
</entry>
|
|
631
|
+
<entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
|
|
632
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
633
|
+
<state relative-caret-position="-486">
|
|
634
|
+
<caret line="20" column="33" selection-start-line="20" selection-start-column="33" selection-end-line="20" selection-end-column="33" />
|
|
465
635
|
</state>
|
|
466
636
|
</provider>
|
|
467
637
|
</entry>
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
[](https://badge.fury.io/rb/montecasting)
|
|
2
|
+

|
|
3
|
+
|
|
1
4
|
# Montecasting
|
|
2
5
|
|
|
3
6
|
Montecasting will provide a set of forecasting techniques to be used on software project management or product development.
|
data/lib/montecasting/array.rb
CHANGED
data/lib/montecasting/version.rb
CHANGED
data/lib/montecasting.rb
CHANGED
|
@@ -6,57 +6,66 @@ module Montecasting
|
|
|
6
6
|
|
|
7
7
|
#Metrics class will contains methods to get specific product development metrics pr
|
|
8
8
|
class Metrics
|
|
9
|
-
def self.variance
|
|
10
|
-
return unless array_of_times.all?
|
|
9
|
+
def self.variance(array_of_times = [])
|
|
10
|
+
return nil unless array_of_times.all? Numeric
|
|
11
11
|
variance = 0
|
|
12
|
-
avg = array_of_times.map
|
|
12
|
+
avg = array_of_times.map(&:abs).average
|
|
13
13
|
array_of_times.each {|spt|
|
|
14
14
|
variance += ((avg - spt) ** 2)
|
|
15
15
|
}
|
|
16
16
|
Math.sqrt(variance)
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
def self.median
|
|
20
|
-
return unless array_of_times.all?
|
|
21
|
-
array_of_times.map
|
|
19
|
+
def self.median(array_of_times = [])
|
|
20
|
+
return nil unless array_of_times.all? Numeric
|
|
21
|
+
array_of_times.map(&:abs).median
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def self.wip_limit(array_of_times, start_date, end_date = DateTime.now)
|
|
25
|
-
return unless array_of_times.all?
|
|
25
|
+
return nil unless array_of_times.all? Numeric
|
|
26
26
|
(array_of_times.map(&:abs).average * throughput(array_of_times.count,start_date,end_date))
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
def self.throughput
|
|
29
|
+
def self.throughput(number_of_issues, start_date, end_date = DateTime.now)
|
|
30
|
+
return nil unless number_of_issues.is_a? Numeric
|
|
30
31
|
((number_of_issues).to_f / week_days(start_date,end_date).count)
|
|
31
32
|
end
|
|
32
33
|
|
|
33
|
-
def self.week_days
|
|
34
|
-
(start_date..
|
|
34
|
+
def self.week_days(start_date, end_date = DateTime.now)
|
|
35
|
+
(start_date..end_date).select { |day| !day.sunday? && !day.saturday? }
|
|
35
36
|
end
|
|
36
37
|
|
|
37
|
-
def self.percent_of_items_at
|
|
38
|
-
return unless array_of_times.all?
|
|
38
|
+
def self.percent_of_items_at(array_of_times, time_units = 0)
|
|
39
|
+
return nil unless array_of_times.all? Numeric
|
|
39
40
|
array_of_times.select { |time| time < time_units}.count.percent_of(array_of_times.count)
|
|
40
41
|
end
|
|
41
42
|
end
|
|
42
43
|
|
|
43
44
|
# Here will place all those method to generate forecasting charts
|
|
44
45
|
class Forecasting
|
|
46
|
+
def self.takt_times(cycle_time = [], rand_generator = 1000)
|
|
47
|
+
return nil unless cycle_time.all? Numeric
|
|
48
|
+
result = Matrix.build(rand_generator,cycle_time.count) { cycle_time.at(rand(0...cycle_time.count))}
|
|
49
|
+
result.row_vectors.map { |r| (r.inject(:+).to_f / cycle_time.count).round(2)}
|
|
50
|
+
end
|
|
45
51
|
|
|
52
|
+
def self.montecarlo(takt_times = [], backlog_items = 0, days_iteration = 0)
|
|
53
|
+
return nil unless takt_times.all? Numeric
|
|
54
|
+
takt_times.map {|tt| ((tt * backlog_items) / days_iteration).round(0)}
|
|
55
|
+
end
|
|
46
56
|
end
|
|
47
57
|
|
|
48
|
-
|
|
49
58
|
#Charts class will contains all those methods to charts data, using rickshaw JS library it's pretty straight forward.
|
|
50
59
|
class Charts
|
|
51
60
|
|
|
52
|
-
def self.chart_cycle_time
|
|
53
|
-
return unless array_of_times.all?
|
|
61
|
+
def self.chart_cycle_time(array_of_times = [], round_to = 0.5)
|
|
62
|
+
return nil unless array_of_times.all? Numeric
|
|
54
63
|
data = Array.new {Array.new}
|
|
55
64
|
ct_sorted = array_of_times.sort.map {|ct| ct.abs.to_f.round(round_to) }
|
|
56
65
|
max_index = ct_sorted.last
|
|
57
66
|
data[0] = [*0..max_index].map {|index| {x: index, y: index}}
|
|
58
67
|
data[1] = [*0..max_index].map {|index| {x: index, y: ct_sorted.count {|elem| elem.eql? index }}}
|
|
59
|
-
data[2] = data[1].map.with_index {|
|
|
68
|
+
data[2] = data[1].map.with_index {|sc, index| {x: index, y: data[1].take(index).inject(0) {|acc, elem| acc + elem[:y]}.percent_of(ct_sorted.count).round(1)}}
|
|
60
69
|
data
|
|
61
70
|
end
|
|
62
71
|
end
|
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.4.0
|
|
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-09-
|
|
11
|
+
date: 2019-09-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|