ecom_core 1.2.18 → 1.2.19

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: faf0a77147b59f982b4e26d123d93a93f7f51daa2f0d47b453df22ceac084f3e
4
- data.tar.gz: c7faa1131252a81ac43cbdd8b848c3f66f2db84cf09e64296de3fd7b490e116e
3
+ metadata.gz: dec564e431b435c4775432757843f7d46c2c98d0c3858bb783e8325b630ba84f
4
+ data.tar.gz: 6831882fb350c6d92d1324a7f6d3fcf6a95ec334af3b551b11b6e24c93c29c75
5
5
  SHA512:
6
- metadata.gz: a83643810ff0d997045c7efa28da6a81f2b7c2f9b5a9cc13ed556735ab09559e6e55133f6e9412add7f8d597f1dffe705e195cfe84fa3c09ff0c4ceae5857f29
7
- data.tar.gz: b234a2bbcaad56cf90d94d974f0d611497dd9202056cbb3103775d502a156783a52e87d04afd0373bf9c3dc852fc20a395fe0d4f4ce0bdd4fcdb3c8ac796f356
6
+ metadata.gz: a9043260a84f6ad95cb2e3ba02329f50bb60a98159b143e58db19c5273bacc1d15d6df538ee460ded92e519071741ac32e6003ec29ae659548109d806ea50d36
7
+ data.tar.gz: 0e280d833e3b19ce2c87ec29f3d7880e20d015e712c289c027785c885bb8b3b601e8347ecf1290ac26bd14c5b7ccc8cae7fbbc2ecb911b3ef0f2cd97d03f87ba
@@ -52,7 +52,7 @@ module Ecom
52
52
  # the parsing should be done at the exact moment we are about
53
53
  # to do time range calculations to avoid errors caused by date
54
54
  # mismatches
55
- def get_range
55
+ def define_range
56
56
  morning = {
57
57
  start: Time.zone.parse('5:00 AM'),
58
58
  finish: Time.zone.parse('9:00 AM')
@@ -76,7 +76,7 @@ module Ecom
76
76
  # A method to check if checkin and checkout range falls in the morning,
77
77
  # afternoon, or both.
78
78
  def find_range(start, finish)
79
- range = get_range
79
+ range = define_range
80
80
  if start.before?(range[:morning][:finish]) && finish.before?(range[:afternoon][:start])
81
81
  :morning
82
82
  elsif start.after?(range[:morning][:finish]) && finish.after?(range[:afternoon][:start])
@@ -90,7 +90,7 @@ module Ecom
90
90
  # of the defined morning and afternoon ranges
91
91
  def compute_hours
92
92
  # Reparse time to avoid errors caused by date differences
93
- range = get_range
93
+ range = define_range
94
94
  start = Time.zone.parse(checkin_time.strftime('%I:%M%p'))
95
95
  finish = Time.zone.parse(checkout_time.strftime('%I:%M%p'))
96
96
  day_part = find_range(start, finish)
@@ -24,14 +24,18 @@ module Ecom
24
24
  OvertimeSheet.open(project_id).where(date: date).exists?
25
25
  end
26
26
 
27
+ def self.exists_for_date?(date, project_id)
28
+ OvertimeSheet.by_project(project_id).by_date(date).exists?
29
+ end
30
+
27
31
  # Overtime sheet should be created using the
28
32
  # method below only. This is because we need to
29
33
  # check if there is an open overtime already,
30
34
  # and also that we have only one open overtime
31
35
  # sheet at a time.
32
36
  def self.create_new(date, project_id)
33
- if OvertimeSheet.open_for_date_exists?(date, project_id)
34
- raise 'There is already an open overtime sheet for the selected date.'
37
+ if OvertimeSheet.exists_for_date?(date, project_id)
38
+ raise 'There is already an overtime sheet for the selected date.'
35
39
  end
36
40
 
37
41
  if OvertimeSheet.open_exists?(project_id)
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Core
3
- VERSION = '1.2.18'.freeze
3
+ VERSION = '1.2.19'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecom_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.18
4
+ version: 1.2.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.