traject_plus 1.0.0 → 1.1.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e88950f9930b74cc29eaf7d62b55c255e3f29e471f73abfcdbd7c2456e604bc
|
4
|
+
data.tar.gz: bb058742cce2434abc341dc72cd76928cf856afc149fc681122819fdc9022897
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 942616c2a50191ee8a1f30d10fbfb718bade0c99adc9d5181aca0d8087b6fea2f264f36434f0e1341cd03da871cf33cc14e172320d2ba877230cfcab75b352f7
|
7
|
+
data.tar.gz: f5063714eac2c658c34d99ce8a7ce22d8ed45bef54ffe16945305f794034963e411b8e9c6f046867a8e90c3f9e4fffac900d32bab4dc67669cbaac7d4da9b732
|
@@ -4,6 +4,7 @@ require 'active_support/core_ext/object/blank'
|
|
4
4
|
require 'deprecation'
|
5
5
|
|
6
6
|
module TrajectPlus
|
7
|
+
# @deprecated because Traject 3 can do this for us.
|
7
8
|
module Extraction
|
8
9
|
def self.apply_extraction_options(result, options = {})
|
9
10
|
TransformPipeline.new(options).transform(result)
|
@@ -10,6 +10,9 @@ module TrajectPlus
|
|
10
10
|
lambda do |row, accumulator, _context|
|
11
11
|
return if row[header_or_index].to_s.empty?
|
12
12
|
result = Array(row[header_or_index].to_s)
|
13
|
+
unless options.empty?
|
14
|
+
Deprecation.warn(self, "passing options to column is deprecated and will be removed in the next major release. Use the Traject 3 pipeline instead")
|
15
|
+
end
|
13
16
|
result = TrajectPlus::Extraction.apply_extraction_options(result, options)
|
14
17
|
accumulator.concat(result)
|
15
18
|
end
|
@@ -12,6 +12,9 @@ module TrajectPlus
|
|
12
12
|
lambda do |json, accumulator, _context|
|
13
13
|
result = Array(JsonPath.on(json, path))
|
14
14
|
result = TrajectPlus::Extraction.apply_extraction_options(result, options)
|
15
|
+
unless options.empty?
|
16
|
+
Deprecation.warn(self, "passing options to extract_json is deprecated and will be removed in the next major release. Use the Traject 3 pipeline instead")
|
17
|
+
end
|
15
18
|
accumulator.concat(result)
|
16
19
|
end
|
17
20
|
end
|
@@ -10,6 +10,9 @@ module TrajectPlus
|
|
10
10
|
def extract_xml(xpath, namespaces, options = {})
|
11
11
|
lambda do |xml, accumulator, _context|
|
12
12
|
result = xml.xpath(xpath, namespaces).map(&:text)
|
13
|
+
unless options.empty?
|
14
|
+
Deprecation.warn(self, "passing options to extract_xml is deprecated and will be removed in the next major release. Use the Traject 3 pipeline instead")
|
15
|
+
end
|
13
16
|
result = TrajectPlus::Extraction.apply_extraction_options(result, options)
|
14
17
|
accumulator.concat(result)
|
15
18
|
end
|
data/lib/traject_plus/macros.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'deprecation'
|
4
|
+
|
2
5
|
module TrajectPlus
|
3
6
|
module Macros
|
7
|
+
extend Deprecation
|
8
|
+
|
4
9
|
# construct a structured hash using values extracted using traject
|
5
10
|
def transform_values(context, hash)
|
6
11
|
hash.transform_values do |lambdas|
|
@@ -51,10 +56,9 @@ module TrajectPlus
|
|
51
56
|
end
|
52
57
|
|
53
58
|
def transform(options = {})
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
end
|
59
|
+
return deprecated_transform(options) unless block_given?
|
60
|
+
|
61
|
+
super() # These empty parens are meaningful, otherwise it'll pass options.
|
58
62
|
end
|
59
63
|
|
60
64
|
# apply the same mapping to multiple fields
|
@@ -63,6 +67,9 @@ module TrajectPlus
|
|
63
67
|
end
|
64
68
|
|
65
69
|
def to_field(field_name, *procs, extract: nil, transform: nil, **namedArgs, &block)
|
70
|
+
if transform || extract
|
71
|
+
Deprecation.warn(self, "Passing extract or transform arguments to to_field is deprecated. Use the Traject 3 pipeline instead.")
|
72
|
+
end
|
66
73
|
procs = [extract, transform] if procs.empty?
|
67
74
|
@index_steps << TrajectPlus::Indexer::ToFieldStep.new(field_name, procs, block, Traject::Util.extract_caller_location(caller.first), **namedArgs)
|
68
75
|
end
|
@@ -78,5 +85,15 @@ module TrajectPlus
|
|
78
85
|
|
79
86
|
@index_steps << TrajectPlus::Indexer::ComposeStep.new(fieldname, extract || aLambda, transform, Traject::Util.extract_caller_location(caller.first), indexer)
|
80
87
|
end
|
88
|
+
|
89
|
+
private
|
90
|
+
|
91
|
+
def deprecated_transform(options)
|
92
|
+
Deprecation.warn(self, "transform is deprecated and will be removed in the next major release. Use the Traject 3 pipeline instead")
|
93
|
+
lambda do |record, accumulator, context|
|
94
|
+
results = TrajectPlus::Extraction.apply_extraction_options(accumulator, options)
|
95
|
+
accumulator.replace(results)
|
96
|
+
end
|
97
|
+
end
|
81
98
|
end
|
82
99
|
end
|
data/lib/traject_plus/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: traject_plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: exe
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-
|
14
|
+
date: 2019-03-04 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|