projector_pws 0.1.17 → 0.1.18

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
  SHA1:
3
- metadata.gz: eba0be738cbe3290968fc280047b81329d14cebb
4
- data.tar.gz: 7a7f36a7d3b1a12caf5b8c5cce2497d5c3371861
3
+ metadata.gz: fe9345d3a835dd4be1fef4da59181fa8002a303e
4
+ data.tar.gz: 47f837cdbc2dd97fcd3007eeefda5c14729cb516
5
5
  SHA512:
6
- metadata.gz: 09a76186ed27f8bcb63978714fe1502e7bf4eeb345f3dd2f61b16ebfc24575192843b745e67da1e492e7c966fcd2c807d98bc6cc880df955417bd87c584e059d
7
- data.tar.gz: 9678de18516e3afb01fb01e0e15bfb6cf7e7356607c5c9580152fb2ec324d3389d21ecdd4cafcf66115512e0e6feb4892b5fcb7be6cdce4cfbdf3604e75143c0
6
+ metadata.gz: 09d6d7d1ab1dba0048197874c2e7d7776d4e0c5e8b1221c65b64eeb266209fba29db01ab116e3065b6977ea693515112fe83f27d127734a5f0163d0b295444a2
7
+ data.tar.gz: ccd88edbc8a8583a7ed00721e256ebd01628ab2cc403fdb1918cdd83111da94c9dcbf4f58b0467eb53b36db63123d0fa7e3405327eeb52ec29e4258a480c9443
@@ -5,5 +5,5 @@
5
5
  module ProjectorPWS
6
6
 
7
7
  # Version
8
- VERSION = '0.1.17'
8
+ VERSION = '0.1.18'
9
9
  end
data/lib/projector_pws.rb CHANGED
@@ -277,11 +277,18 @@ module ProjectorPWS
277
277
  } }.select { |x| x[:free_hours] > 0 }
278
278
  end
279
279
 
280
- # Get Resource Free Hours
281
- def self.get_resource_free_hours c, ticket, resource, start_date = current_week_start, end_date = current_week_end, scheduled_hours = nil, wsched = nil
280
+ # Compute Resource Active Hours
281
+ def self.compute_resource_active_hours wsched
282
282
 
283
- # Get scheduled hours
284
- scheduled_hours ||= get_resource_scheduled_hours c, ticket, resource, start_date, end_date
283
+ # Extract Working Minutes
284
+ work = wsched.inject(0) { |a, e| a + e[:working_minutes].to_i }
285
+
286
+ # Determine Active Hours
287
+ work.to_f / MINUTES_PER_HOUR.to_f
288
+ end
289
+
290
+ # Compute Resource Free Hours
291
+ def self.compute_resource_free_hours scheduled_hours, wsched
285
292
 
286
293
  # Get active hours
287
294
  active_hours = get_resource_active_hours c, ticket, resource, start_date, end_date, wsched
@@ -294,6 +301,14 @@ module ProjectorPWS
294
301
  active_hours - scheduled_hours[:work]
295
302
  end
296
303
 
304
+ # Get Resource Free Hours
305
+ def self.get_resource_free_hours c, ticket, resource, start_date = current_week_start, end_date = current_week_end, scheduled_hours = nil, wsched = nil
306
+
307
+ # Get scheduled hours
308
+ scheduled_hours ||= get_resource_scheduled_hours c, ticket, resource, start_date, end_date
309
+ compute_resource_free_hours scheduled_hours, wsched
310
+ end
311
+
297
312
  # Get Resource Active Hours
298
313
  def self.get_resource_active_hours c, ticket, resource, start_date = current_week_start, end_date = current_week_end, wsched = nil
299
314
 
@@ -301,12 +316,7 @@ module ProjectorPWS
301
316
  wsched ||= ProjectorPWS.get_resource_working_schedule(c, ticket, resource[:resource_uid], start_date, end_date)[:pws_working_schedule_day] rescue(return(0))
302
317
  wsched = [wsched] unless wsched.is_a? Array
303
318
  wsched.compact!
304
-
305
- # Extract Working Minutes
306
- work = wsched.inject(0) { |a, e| a + e[:working_minutes].to_i }
307
-
308
- # Determine Active Hours
309
- work.to_f / MINUTES_PER_HOUR.to_f
319
+ compute_resource_active_hours wsched
310
320
  end
311
321
 
312
322
  # Get Resource Scheduled Hours
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: projector_pws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.17
4
+ version: 0.1.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul DUNCAN
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-02 00:00:00.000000000 Z
11
+ date: 2018-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler