montecasting 0.2.2 → 0.2.3

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