lucarecord 0.8.3 → 0.8.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4e9ef9ce23e3fad55482f2c233558788299a023e50668cfb36b6442e7a47710
4
- data.tar.gz: e41115ce664e4c649f684e1bd8d98d7dcfecc7d3237b0b1ed519641ee6df02a5
3
+ metadata.gz: c495934761e86adff1983d223284cbe07d1f69135e7f7d2981aab4220a2066bd
4
+ data.tar.gz: 25abb279ca66938fae39b5d984f7eddb5d4936fec80372a85b762e2ade03680c
5
5
  SHA512:
6
- metadata.gz: d3b2bfcb8b4970e73336c8a0c649eb49a25b7e80e6b75f3fa9c10497c0642af20b8e86ca2529e5dbcb8d86649483b909ed3736a1ac8db58cfb3585c36d7c8381
7
- data.tar.gz: cfee09196fdbf494aa93be3f493fd0b97b84a70fff4d219adff32f30fa258728d67b5faf611ae562be0a7c9285b678591962f25c90416d514fd3d5641320516b
6
+ metadata.gz: 3546df47e17e4e78f42ec6aa814ed828a9bafb344b62c57540d99f68cd622557cfb2c3eed1f08a3285c1c41026d000a88948885db8bd6ed9ddea3952d7cac111
7
+ data.tar.gz: 8c6e7797494c75a7fb1d53ed33dda57190712f57e8fde7a46f9e888f7428eadfa11f39e5783b391688b9f294974409f12fb32175992cbf8b36a804776a049955
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## LucaRecord 0.8.4
2
+
3
+ * expand `take_current` for several missing label cases
4
+
1
5
  ## LucaRecord 0.8.3
2
6
 
3
7
  * Fix: over-filtering `parse_current()`
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LucaRecord
4
- VERSION = '0.8.3'
4
+ VERSION = '0.8.4'
5
5
  end
@@ -212,9 +212,14 @@ module LucaSupport # :nodoc:
212
212
  keys = target.map(&:keys).flatten
213
213
  return target if !keys.include?('effective') && !keys.include?('defunct')
214
214
 
215
- latest = target
215
+ active = target
216
216
  .reject { |a| a['defunct'] && Date.parse(a['defunct'].to_s) < date }
217
217
  .reject { |a| a['effective'] && Date.parse(a['effective'].to_s) > date }
218
+ return active.first&.dig('val') || active.first if active.length <= 1
219
+ raise "Cannot determine cuerrent: #{active}" if !keys.include?('effective')
220
+
221
+ latest = active
222
+ .select { |a| a.has_key?('effective') }
218
223
  .max { |a, b| Date.parse(a['effective'].to_s) <=> Date.parse(b['effective'].to_s) }
219
224
 
220
225
  latest&.dig('val') || latest
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lucarecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chuma Takahiro