montecasting 0.2.3 → 0.2.4

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: fd100f860a6e212e2ab1fd373aefffb66d95dcf235d4d60c1c05a134a210f451
4
- data.tar.gz: 13ee39b0122594f99c3bead9e2477565637078cbf02eb3a8416e1e4be1fa5df4
3
+ metadata.gz: 62e9dea601665301368b538de29341cb7fe12db57499dae979d4081c2974a6f6
4
+ data.tar.gz: 8abb36be3898932f678a36346eda94768b27046790a8ee6011495265c9ff0fb5
5
5
  SHA512:
6
- metadata.gz: eb6029d51835b7a8fe0d2ca68d5cd20e61650db60697649da70ce91eb2a6435e7ef0e777d8b96cd27fe5995119ce27492ac8a14e873f69d0a3d54d6182fe2d9c
7
- data.tar.gz: bfa6e6a64fe0110cc35da87338dee47ddff17bd4e681149f2e36e91daddae55e47022995d360e6fc7bb6983d79dd1ae949d5d852b205f62a99b52eab78bc6bfa
6
+ metadata.gz: bd6d268c96fc2c0f819b906b88eb4f2606af694ba4d242280455b400cf0c265af0cc479d3573800fd151c63f52566ddffc4d97212c52d2f8c206116e41a6da94
7
+ data.tar.gz: b4b0fcd58333d0220320fc82711fee7712ec50fd18e8f6f689160e9edc1c9c2dc96919ef4132c16267cc33c8396b8194745b863b6f614e331fd96de19c729024
data/.idea/workspace.xml CHANGED
@@ -3,12 +3,7 @@
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 afterPath="$PROJECT_DIR$/lib/numeric.rb" afterDir="false" />
7
- <change beforePath="$PROJECT_DIR$/Gemfile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/Gemfile.lock" afterDir="false" />
8
- <change beforePath="$PROJECT_DIR$/lib/montecasting.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting.rb" afterDir="false" />
9
6
  <change beforePath="$PROJECT_DIR$/lib/montecasting/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/montecasting/version.rb" afterDir="false" />
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" />
12
7
  </list>
13
8
  <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
14
9
  <option name="SHOW_DIALOG" value="false" />
@@ -21,8 +16,17 @@
21
16
  <file pinned="false" current-in-tab="false">
22
17
  <entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
23
18
  <provider selected="true" editor-type-id="text-editor">
24
- <state relative-caret-position="202">
25
- <caret line="15" lean-forward="true" selection-start-line="15" selection-end-line="15" />
19
+ <state relative-caret-position="721">
20
+ <caret line="33" column="5" lean-forward="true" selection-start-line="33" selection-start-column="5" selection-end-line="33" selection-end-column="5" />
21
+ </state>
22
+ </provider>
23
+ </entry>
24
+ </file>
25
+ <file pinned="false" current-in-tab="false">
26
+ <entry file="file://$PROJECT_DIR$/lib/montecasting/array.rb">
27
+ <provider selected="true" editor-type-id="text-editor">
28
+ <state relative-caret-position="374">
29
+ <caret line="17" selection-start-line="17" selection-end-line="17" />
26
30
  </state>
27
31
  </provider>
28
32
  </entry>
@@ -35,49 +39,54 @@
35
39
  <file pinned="false" current-in-tab="false">
36
40
  <entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
37
41
  <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" />
42
+ <state relative-caret-position="418">
43
+ <caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
40
44
  </state>
41
45
  </provider>
42
46
  </entry>
43
47
  </file>
44
48
  <file pinned="false" current-in-tab="false">
45
- <entry file="file://$PROJECT_DIR$/lib/numeric.rb">
49
+ <entry file="file://$PROJECT_DIR$/Gemfile">
46
50
  <provider selected="true" editor-type-id="text-editor">
47
- <state relative-caret-position="242">
48
- <caret line="11" column="3" lean-forward="true" selection-start-line="11" selection-start-column="3" selection-end-line="11" selection-end-column="3" />
51
+ <state relative-caret-position="88">
52
+ <caret line="4" selection-start-line="4" selection-end-line="4" />
49
53
  </state>
50
54
  </provider>
51
55
  </entry>
52
56
  </file>
53
57
  <file pinned="false" current-in-tab="false">
54
- <entry file="file://$PROJECT_DIR$/montecasting.gemspec">
58
+ <entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/time.rb">
55
59
  <provider selected="true" editor-type-id="text-editor">
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" />
60
+ <state relative-caret-position="1493">
61
+ <caret line="117" column="13" selection-start-line="117" selection-start-column="13" selection-end-line="117" selection-end-column="13" />
58
62
  </state>
59
63
  </provider>
60
64
  </entry>
61
65
  </file>
62
- <file pinned="false" current-in-tab="true">
63
- <entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
66
+ <file pinned="false" current-in-tab="false">
67
+ <entry file="file://$PROJECT_DIR$/montecasting.gemspec">
64
68
  <provider selected="true" editor-type-id="text-editor">
65
69
  <state relative-caret-position="132">
66
- <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
70
+ <caret line="6" column="42" selection-start-line="6" selection-start-column="42" selection-end-line="6" selection-end-column="42" />
67
71
  </state>
68
72
  </provider>
69
73
  </entry>
70
74
  </file>
71
75
  <file pinned="false" current-in-tab="false">
72
- <entry file="file://$PROJECT_DIR$/Rakefile">
76
+ <entry file="file://$PROJECT_DIR$/Gemfile.lock">
73
77
  <provider selected="true" editor-type-id="text-editor" />
74
78
  </entry>
75
79
  </file>
76
80
  <file pinned="false" current-in-tab="false">
77
- <entry file="file://$PROJECT_DIR$/.gitignore">
81
+ <entry file="file://$PROJECT_DIR$/.rspec_status">
82
+ <provider selected="true" editor-type-id="text-editor" />
83
+ </entry>
84
+ </file>
85
+ <file pinned="false" current-in-tab="true">
86
+ <entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
78
87
  <provider selected="true" editor-type-id="text-editor">
79
- <state>
80
- <caret column="7" selection-start-column="7" selection-end-column="7" />
88
+ <state relative-caret-position="88">
89
+ <caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
81
90
  </state>
82
91
  </provider>
83
92
  </entry>
@@ -100,8 +109,10 @@
100
109
  <option value="$PROJECT_DIR$/.gitignore" />
101
110
  <option value="$PROJECT_DIR$/lib/numeric.rb" />
102
111
  <option value="$PROJECT_DIR$/montecasting.gemspec" />
103
- <option value="$PROJECT_DIR$/spec/montecasting_spec.rb" />
112
+ <option value="$PROJECT_DIR$/lib/montecasting/array.rb" />
113
+ <option value="$PROJECT_DIR$/Gemfile" />
104
114
  <option value="$PROJECT_DIR$/lib/montecasting.rb" />
115
+ <option value="$PROJECT_DIR$/spec/montecasting_spec.rb" />
105
116
  <option value="$PROJECT_DIR$/lib/montecasting/version.rb" />
106
117
  </list>
107
118
  </option>
@@ -157,6 +168,10 @@
157
168
  <item name="montecasting" type="462c0819:PsiDirectoryNode" />
158
169
  <item name="spec" type="462c0819:PsiDirectoryNode" />
159
170
  </path>
171
+ <path>
172
+ <item name="montecasting" type="b2602c69:ProjectViewProjectNode" />
173
+ <item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
174
+ </path>
160
175
  </expand>
161
176
  <select />
162
177
  </subPane>
@@ -168,6 +183,7 @@
168
183
  <property name="WebServerToolWindowFactoryState" value="false" />
169
184
  <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
170
185
  <property name="nodejs_npm_path_reset_for_default_project" value="true" />
186
+ <property name="settings.editor.selected.configurable" value="org.jetbrains.plugins.ruby.settings.RubyActiveModuleSdkConfigurable" />
171
187
  </component>
172
188
  <component name="RunDashboard">
173
189
  <option name="ruleStates">
@@ -229,7 +245,7 @@
229
245
  <option name="number" value="Default" />
230
246
  <option name="presentableId" value="Default" />
231
247
  <updated>1567089679850</updated>
232
- <workItem from="1567089680950" duration="12394000" />
248
+ <workItem from="1567089680950" duration="17370000" />
233
249
  </task>
234
250
  <task id="LOCAL-00001" summary="Ruby Gem for Project Forecasting Methods">
235
251
  <created>1567089862211</created>
@@ -252,7 +268,21 @@
252
268
  <option name="project" value="LOCAL" />
253
269
  <updated>1567160943788</updated>
254
270
  </task>
255
- <option name="localTasksCounter" value="4" />
271
+ <task id="LOCAL-00004" summary="Ruby Gem for Project Forecasting Methods">
272
+ <created>1567175778182</created>
273
+ <option name="number" value="00004" />
274
+ <option name="presentableId" value="LOCAL-00004" />
275
+ <option name="project" value="LOCAL" />
276
+ <updated>1567175778182</updated>
277
+ </task>
278
+ <task id="LOCAL-00005" summary="Ruby Gem for Project Forecasting Methods">
279
+ <created>1567180594715</created>
280
+ <option name="number" value="00005" />
281
+ <option name="presentableId" value="LOCAL-00005" />
282
+ <option name="project" value="LOCAL" />
283
+ <updated>1567180594715</updated>
284
+ </task>
285
+ <option name="localTasksCounter" value="6" />
256
286
  <servers />
257
287
  </component>
258
288
  <component name="TestHistory">
@@ -261,7 +291,7 @@
261
291
  </history-entry>
262
292
  </component>
263
293
  <component name="TimeTrackingManager">
264
- <option name="totallyTimeSpent" value="12394000" />
294
+ <option name="totallyTimeSpent" value="17370000" />
265
295
  </component>
266
296
  <component name="ToolWindowManager">
267
297
  <frame x="119" y="23" width="2282" height="1417" extended-state="0" />
@@ -273,7 +303,7 @@
273
303
  <window_info anchor="bottom" id="Docker" show_stripe_button="false" />
274
304
  <window_info anchor="bottom" id="Database Changes" />
275
305
  <window_info anchor="bottom" id="Version Control" />
276
- <window_info anchor="bottom" id="Terminal" sideWeight="0.49955356" visible="true" weight="0.32925898" />
306
+ <window_info anchor="bottom" id="Terminal" sideWeight="0.49955356" weight="0.32925898" />
277
307
  <window_info anchor="bottom" id="Event Log" sideWeight="0.50044644" side_tool="true" weight="0.32925898" />
278
308
  <window_info anchor="bottom" id="Message" order="0" />
279
309
  <window_info anchor="bottom" id="Find" order="1" />
@@ -333,38 +363,65 @@
333
363
  <entry file="file://$PROJECT_DIR$/lib/numeric.rb">
334
364
  <provider selected="true" editor-type-id="text-editor">
335
365
  <state relative-caret-position="242">
336
- <caret line="11" column="3" lean-forward="true" selection-start-line="11" selection-start-column="3" selection-end-line="11" selection-end-column="3" />
366
+ <caret line="11" column="3" selection-start-line="11" selection-start-column="3" selection-end-line="11" selection-end-column="3" />
337
367
  </state>
338
368
  </provider>
339
369
  </entry>
340
- <entry file="file://$PROJECT_DIR$/montecasting.gemspec">
370
+ <entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
371
+ <provider selected="true" editor-type-id="text-editor" />
372
+ </entry>
373
+ <entry file="file://$PROJECT_DIR$/lib/montecasting/array.rb">
341
374
  <provider selected="true" editor-type-id="text-editor">
342
- <state relative-caret-position="132">
343
- <caret line="6" column="42" selection-start-line="6" selection-start-column="42" selection-end-line="6" selection-end-column="42" />
375
+ <state relative-caret-position="374">
376
+ <caret line="17" selection-start-line="17" selection-end-line="17" />
344
377
  </state>
345
378
  </provider>
346
379
  </entry>
347
- <entry file="file://$PROJECT_DIR$/spec/spec_helper.rb">
380
+ <entry file="file://$APPLICATION_HOME_DIR$/rubystubs26/time.rb">
381
+ <provider selected="true" editor-type-id="text-editor">
382
+ <state relative-caret-position="1493">
383
+ <caret line="117" column="13" selection-start-line="117" selection-start-column="13" selection-end-line="117" selection-end-column="13" />
384
+ </state>
385
+ </provider>
386
+ </entry>
387
+ <entry file="file://$PROJECT_DIR$/Gemfile">
388
+ <provider selected="true" editor-type-id="text-editor">
389
+ <state relative-caret-position="88">
390
+ <caret line="4" selection-start-line="4" selection-end-line="4" />
391
+ </state>
392
+ </provider>
393
+ </entry>
394
+ <entry file="file://$PROJECT_DIR$/Gemfile.lock">
395
+ <provider selected="true" editor-type-id="text-editor" />
396
+ </entry>
397
+ <entry file="file://$PROJECT_DIR$/.rspec_status">
348
398
  <provider selected="true" editor-type-id="text-editor" />
349
399
  </entry>
350
400
  <entry file="file://$PROJECT_DIR$/spec/montecasting_spec.rb">
351
401
  <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" />
402
+ <state relative-caret-position="418">
403
+ <caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
354
404
  </state>
355
405
  </provider>
356
406
  </entry>
357
407
  <entry file="file://$PROJECT_DIR$/lib/montecasting.rb">
358
408
  <provider selected="true" editor-type-id="text-editor">
359
- <state relative-caret-position="202">
360
- <caret line="15" lean-forward="true" selection-start-line="15" selection-end-line="15" />
409
+ <state relative-caret-position="721">
410
+ <caret line="33" column="5" lean-forward="true" selection-start-line="33" selection-start-column="5" selection-end-line="33" selection-end-column="5" />
361
411
  </state>
362
412
  </provider>
363
413
  </entry>
364
- <entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
414
+ <entry file="file://$PROJECT_DIR$/montecasting.gemspec">
365
415
  <provider selected="true" editor-type-id="text-editor">
366
416
  <state relative-caret-position="132">
367
- <caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="6" />
417
+ <caret line="6" column="42" selection-start-line="6" selection-start-column="42" selection-end-line="6" selection-end-column="42" />
418
+ </state>
419
+ </provider>
420
+ </entry>
421
+ <entry file="file://$PROJECT_DIR$/lib/montecasting/version.rb">
422
+ <provider selected="true" editor-type-id="text-editor">
423
+ <state relative-caret-position="88">
424
+ <caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" />
368
425
  </state>
369
426
  </provider>
370
427
  </entry>
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source "https://rubygems.org"
2
-
2
+ ruby "2.6.3"
3
3
  # Specify your gem's dependencies in montecasting.gemspec
4
4
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- montecasting (0.2.2)
4
+ montecasting (0.2.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -31,5 +31,8 @@ DEPENDENCIES
31
31
  rake (~> 10.0)
32
32
  rspec (~> 3.0)
33
33
 
34
+ RUBY VERSION
35
+ ruby 2.6.3p62
36
+
34
37
  BUNDLED WITH
35
38
  2.0.1
@@ -0,0 +1,37 @@
1
+
2
+ class Array
3
+ def array_to_hash
4
+ each {|sprint|
5
+ #the string must contain a par elements, first would be the kay and the next one the value
6
+ #Fist step it transforma a string into an array and then creates a hash getting pairs.
7
+ yield Hash[*sprint.chop[(sprint.index('[')+1)..-1].gsub!('=',',').split(',')]
8
+ }
9
+ end
10
+
11
+ def each_sum_done key_status = [:done]
12
+ counter = 0
13
+ each {|issue|
14
+ counter += yield issue if key_status.include? issue.status.to_sym
15
+ }
16
+ counter
17
+ end
18
+
19
+ def each_sum
20
+ counter = 0
21
+ each {|issue|
22
+ counter += yield issue
23
+ }
24
+ counter
25
+ end
26
+
27
+ def average
28
+ inject {|sum, el| sum + el}.to_f / size
29
+ end
30
+
31
+ def median
32
+ sorted = sort
33
+ len = sorted.length
34
+ (sorted[(len - 1) / 2] + sorted[len / 2]) / 2.0
35
+ end
36
+
37
+ 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.2.3"
5
+ VERSION = "0.2.4"
6
6
  end
data/lib/montecasting.rb CHANGED
@@ -1,16 +1,30 @@
1
1
  require "montecasting/version"
2
2
  require_relative 'numeric'
3
+ require_relative 'montecasting/array'
3
4
 
4
5
  module Montecasting
5
6
 
6
7
  #Metrics class will contains methods to get specific product development metrics pr
7
8
  class Metrics
8
- def self.variance average_closed_points = 0, closed_by_sprint = []
9
+ def self.variance array_of_units = []
9
10
  variance = 0
10
- closed_by_sprint.each {|spt|
11
- variance += ((average_closed_points - spt.to_i) ** 2)
11
+ avg = array_of_units.map{|i| i.abs}.average
12
+ array_of_units.each {|spt|
13
+ variance += ((avg - spt) ** 2)
12
14
  }
13
- Math.sqrt(variance).round(0)
15
+ Math.sqrt(variance)
16
+ end
17
+
18
+ def self.wip_limit(array_of_cycle_time, start_date, end_date = DateTime.now)
19
+ (array_of_cycle_time.map(&:abs).average * throughput(array_of_cycle_time.count,start_date,end_date))
20
+ end
21
+
22
+ def self.throughput number_of_issues, start_date, end_date = DateTime.now
23
+ ((number_of_issues).to_f / week_days(start_date,end_date).count)
24
+ end
25
+
26
+ def self.week_days start_date, enddate = DateTime.now
27
+ (start_date..enddate).select { |day| !day.sunday? && !day.saturday? }
14
28
  end
15
29
  end
16
30
 
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.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduard Garcia Castello
@@ -74,6 +74,7 @@ files:
74
74
  - bin/console
75
75
  - bin/setup
76
76
  - lib/montecasting.rb
77
+ - lib/montecasting/array.rb
77
78
  - lib/montecasting/version.rb
78
79
  - lib/numeric.rb
79
80
  - montecasting.gemspec