relaton-iso 2.0.0.pre.alpha.4 → 2.0.0.pre.alpha.5

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: db5f86dd933721ca9fb4b0da9000e420f96cbf3bf0899520859e2f7789791420
4
- data.tar.gz: 5d5bf96408c996c7289aadc14d5993d5fa12c3a1d15f013110545b44de4a0e5c
3
+ metadata.gz: da51a73ec48407d3ef4d282539f1484cd967fcf49c1903e5af5d68f85d8efeed
4
+ data.tar.gz: f50534492470af38a24a7c0f0e9478d447050f36b21b0850687b48716092329b
5
5
  SHA512:
6
- metadata.gz: 4ca11e7589947364be4a08be23a2bc64b4e1a75e90dbb058a8509133b60f5fdd501de1af9b707beb03d3843436d0ffbe24c27d9d32af3c9d88a08aa3b4ad2fc3
7
- data.tar.gz: 499048e6a3c826a7e0bc9ea419d8f926a374538a04d109df94b51e66cf51cf55ec04bf1acba862b9df1615056f85bfe1d17d104a48f0b255a54797675ac8d3c4
6
+ metadata.gz: e21a0a4e2522b0bd8264ad4e6b883518c0d43536c392be0e5f113ad00bc53dc6b2e360962008ee56bc0e528864b41ff1e9a5cbbcb9c676f3c48d7df4a7f81c7e
7
+ data.tar.gz: 327762296156cfd01cd994f66160989e39e1d89d5d1d2137f72812815b07f575b9753b82e103e75da4408bc4058779b362e726001d664c7e11434d3e7c20b01d
@@ -60,7 +60,7 @@ module Relaton
60
60
  get_all = (query_pubid.root.year && opts[:keep_year].nil?) || opts[:keep_year] || opts[:all_parts] ||
61
61
  opts[:publication_date_before] || opts[:publication_date_after]
62
62
  if get_all
63
- filter_relations_by_date(ret, opts) if date_filter
63
+ filter_item_by_date(ret, opts) if date_filter
64
64
  return ret
65
65
  end
66
66
 
@@ -121,13 +121,23 @@ module Relaton
121
121
 
122
122
  private
123
123
 
124
- # Filter out relations whose referenced document falls outside the date range.
124
+ # Filter out relations and dates that fall outside the date range.
125
125
  # @param item [Relaton::Iso::ItemData]
126
126
  # @param opts [Hash]
127
- def filter_relations_by_date(item, opts)
128
- return unless item.relation&.any?
127
+ def filter_item_by_date(item, opts)
128
+ if item.relation&.any?
129
+ item.relation.reject! { |rel| relation_outside_date_range?(rel, opts) }
130
+ end
131
+
132
+ # Filter dates that occurred after the cut-off (keep published date always)
133
+ if item.date&.any? && opts[:publication_date_before]
134
+ item.date.reject! do |d|
135
+ next false if d.type == "published"
129
136
 
130
- item.relation.reject! { |rel| relation_outside_date_range?(rel, opts) }
137
+ date_val = d.at&.to_date || d.from&.to_date
138
+ date_val && date_val >= opts[:publication_date_before]
139
+ end
140
+ end
131
141
  end
132
142
 
133
143
  # Check if a relation's bibitem date falls outside the given date range.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Relaton
4
4
  module Iso
5
- VERSION = "2.0.0-alpha.4"
5
+ VERSION = "2.0.0-alpha.5"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-iso
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre.alpha.4
4
+ version: 2.0.0.pre.alpha.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.