montecasting 0.2.2 → 0.2.3

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: 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