expiry_calculator 0.2.0 → 0.3.0
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 +4 -4
- data/lib/expiry_calculator/logic.rb +4 -3
- data/lib/expiry_calculator/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20c65ef7789b9298cb92e17c86dc149dea2be400a247b7d834e73112af558daf
|
4
|
+
data.tar.gz: 12978914c8fdce252365e71420b543b0b2d650e105930714905e400507d7154c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31067b24785e34031d86dc973ab10356e0554b8f64b335b0222c22df0153aaa26a29127bd9fed367f0ada84d94d7f6de9df44b22ac93ee931854379bacaf030f
|
7
|
+
data.tar.gz: b88a4065ec7755a7c0f54fa5613a6d4130cb1892aca27f0bf513e3f02b81f62c8d7966097456cd087444707c80f353eef34477b577388029686e8750c9df6c12
|
@@ -5,13 +5,16 @@ module ExpiryCalculator
|
|
5
5
|
#
|
6
6
|
# == Parameters:
|
7
7
|
#
|
8
|
-
# [*record*] +Date|DateTime|ApplicationRecord+: field of date and time to caluclate expiry for. Can be activerecord model containing a date field.
|
8
|
+
# [*record*] +Date|DateTime|String|ApplicationRecord+: field of date and time to caluclate expiry for. Can be activerecord model containing a date field.
|
9
9
|
# [*record_attr*] +symbol|string+ The date attribute field in case of active record model is passed in first arguemtn. Default to nil.
|
10
10
|
#
|
11
11
|
# == Returns:
|
12
12
|
#
|
13
13
|
# The remaining days till the expiry, or zero if it already past.
|
14
14
|
#
|
15
|
+
# == Note:
|
16
|
+
# ref# for AR special check case:
|
17
|
+
# https://github.com/rails/rails/blob/04cda1848cb847c2bdad0bfc12160dc8d5547775/activerecord/lib/active_record/core.rb#L135
|
15
18
|
#
|
16
19
|
def calculate record, record_attr = nil
|
17
20
|
expiry_date = case record
|
@@ -21,11 +24,9 @@ module ExpiryCalculator
|
|
21
24
|
record
|
22
25
|
when String
|
23
26
|
DateTime.parse(record)
|
24
|
-
# https://github.com/rails/rails/blob/04cda1848cb847c2bdad0bfc12160dc8d5547775/activerecord/lib/active_record/core.rb#L135
|
25
27
|
when ->(r) { defined?(ActiveRecord::Base) && r.is_a?(ActiveRecord::Base) }
|
26
28
|
record[record_attr.to_sym]
|
27
29
|
else
|
28
|
-
p record.class
|
29
30
|
raise ArgumentError, "record type not supported."
|
30
31
|
end
|
31
32
|
days = (Date.today..expiry_date).count
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: expiry_calculator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Abdullah Barrak
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-04-
|
11
|
+
date: 2025-04-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -140,16 +140,16 @@ dependencies:
|
|
140
140
|
name: sqlite3
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '
|
145
|
+
version: '2'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
152
|
+
version: '2'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: rbs
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|