montecasting 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29d07448cb37c51be4f64b64748275f08f37ccf44a53bca3f52d1819220e49fb
4
- data.tar.gz: 6d8b6f3d353d528a9d904956d4c6a86fc84d20585356ab394f99d3a7c6b3285a
3
+ metadata.gz: f6017e1e55b9b62bc83ca853d889138d8ca1f88a6dff69fe9888c178dee80963
4
+ data.tar.gz: 5129fa237671d3ea2e05dc4a10fa9abe22bea608a136017c8c3fedfbfb1c8db1
5
5
  SHA512:
6
- metadata.gz: 7f4ca5dcb825735d1d055c34cf16d2d6b9e119620b779ae107ad9cc01b6f49c8f8c8db3e5e05f76c03cba37235c7a093b4073aed90a7aaedd6d887bfcca231d2
7
- data.tar.gz: 6b7b7806b3c97b9b2f8a05510621e07ecc2cd1277c294defa6a64d0e73293f723b90036f1bf20af755f735846635762c4554dce19f009ee2abc6b05029333a3a
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="968">
20
- <caret line="44" lean-forward="true" selection-start-line="44" selection-end-line="44" />
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://$PROJECT_DIR$/lib/montecasting/array.rb">
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="418">
29
- <caret line="19" column="19" selection-start-line="19" selection-start-column="19" selection-end-line="19" selection-end-column="19" />
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://$PROJECT_DIR$/spec/montecasting_spec.rb">
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="66">
38
- <caret line="3" column="135" lean-forward="true" selection-start-line="3" selection-start-column="113" selection-end-line="3" selection-end-column="135" />
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$/Gemfile">
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="88">
47
- <caret line="4" selection-start-line="4" selection-end-line="4" />
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://$APPLICATION_HOME_DIR$/rubystubs26/time.rb">
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="2574">
56
- <caret line="117" column="13" selection-start-line="117" selection-start-column="13" selection-end-line="117" selection-end-column="13" />
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.gemspec">
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="242">
65
- <caret line="11" column="233" selection-start-line="11" selection-start-column="26" selection-end-line="11" selection-end-column="233" />
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="1254">
75
- <caret line="57" column="8" selection-start-line="57" selection-start-column="8" selection-end-line="57" selection-end-column="8" />
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" extendedState="6">
140
- <option name="x" value="164" />
141
- <option name="y" value="102" />
142
- <option name="width" value="2382" />
143
- <option name="height" value="1209" />
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="org.jetbrains.plugins.ruby.settings.RubyActiveModuleSdkConfigurable" />
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="Run spec 'montecasting_spec': montecasting" type="RSpecRunConfigurationType" factoryName="RSpec" temporary="true">
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="1889000" />
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
- <option name="localTasksCounter" value="8" />
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.08.30 at 13h 43m 52s.xml">
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="20497000" />
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="0" y="23" width="2560" height="1417" extended-state="6" />
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.1965846" />
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.32925898" />
343
- <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
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" visible="true" weight="0.30634072" />
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@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" />
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$/lib/montecasting/numeric.rb">
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="242">
403
- <caret line="11" column="3" selection-start-line="11" selection-start-column="3" selection-end-line="11" selection-end-column="3" />
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="1254">
435
- <caret line="57" column="8" selection-start-line="57" selection-start-column="8" selection-end-line="57" selection-end-column="8" />
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="418">
450
- <caret line="19" column="19" selection-start-line="19" selection-start-column="19" selection-end-line="19" selection-end-column="19" />
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://$PROJECT_DIR$/lib/montecasting.rb">
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="968">
457
- <caret line="44" lean-forward="true" selection-start-line="44" selection-end-line="44" />
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="66">
464
- <caret line="3" column="135" lean-forward="true" selection-start-line="3" selection-start-column="113" selection-end-line="3" selection-end-column="135" />
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- montecasting (0.2.4)
4
+ montecasting (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -1,3 +1,6 @@
1
+ [![Gem Version](https://badge.fury.io/rb/montecasting.svg)](https://badge.fury.io/rb/montecasting)
2
+ ![Travis](https://travis-ci.org/eddygarcas/montecasting.svg?branch=master)
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.
@@ -8,14 +8,6 @@ class Array
8
8
  }
9
9
  end
10
10
 
11
- def each_sum
12
- counter = 0
13
- each {|issue|
14
- counter += yield issue
15
- }
16
- counter
17
- end
18
-
19
11
  def average
20
12
  inject {|sum, el| sum + el}.to_f / size
21
13
  end
@@ -2,5 +2,5 @@ module Montecasting
2
2
  # MAJOR version when you make incompatible API changes,
3
3
  # MINOR version when you add functionality in a backwards compatible manner, and
4
4
  # PATCH version when you make backwards compatible bug fixes.
5
- VERSION = "0.3.0"
5
+ VERSION = "0.4.0"
6
6
  end
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 array_of_times = []
10
- return unless array_of_times.all? {|i| i.is_a?(Numeric) }
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{|i| i.abs}.average
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 array_of_times = []
20
- return unless array_of_times.all? {|i| i.is_a?(Numeric) }
21
- array_of_times.map{|i| i.abs}.median
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? {|i| i.is_a?(Numeric) }
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 number_of_issues, start_date, end_date = DateTime.now
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 start_date, enddate = DateTime.now
34
- (start_date..enddate).select { |day| !day.sunday? && !day.saturday? }
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 array_of_times, time_units = 0
38
- return unless array_of_times.all? {|i| i.is_a?(Numeric) }
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 array_of_times = [], round_to = 0.5
53
- return unless array_of_times.all? {|i| i.is_a?(Numeric) }
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 {|storycount, index| {x: index, y: data[1].take(index).inject(0) {|acc, elem| acc + elem[:y]}.percent_of(ct_sorted.count).round(1)}}
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.3.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-02 00:00:00.000000000 Z
11
+ date: 2019-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler