data_collector 0.44.0 → 0.46.0

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: c289298a8de94ccad3a239ed6d05bf33db68c36072015f8bdb2d2a857809bd0f
4
- data.tar.gz: 1f30741dd80b5cabbf9062869260d319c9db647facec1de41fa8921640967600
3
+ metadata.gz: 72db9fd94027f6a4a9d3112c070e4c52ed8e824676e10923d7bcf76fe5015d14
4
+ data.tar.gz: 6e1e4b8827ae44abe027568682426d4a9cc610f06cb99e9afdfe63bd0b8e5295
5
5
  SHA512:
6
- metadata.gz: ac4f4d7d8906f11ea0840cf416058a665ac2139fd6d3cd0057986624c702e1774fa752c6984ae08c0bc9754c0bfdf9c8fe553635d96ec14cbcc67641e4f95792
7
- data.tar.gz: af893f7320eaa88ff7026f3a2a04e74cface4cd1858db450d6204baa73751b9d6e6c6b743f979319f5e277a7b213ec0ef2989180ae99d1c54921ac07bf2d1817
6
+ metadata.gz: 867c15eddb233301ddd0090138989f8230424ae159f7ba2aba8669d0d985c29262eb9bb4029283dd2dd130c6534621c6db1e8f946d6563c60e2c2f3e719c48bd
7
+ data.tar.gz: fc370007a9ec72e5d748c51e4cb191334dacc79639245cbc395d7bebe0b90fd77574466e889177e49e041580998b7749d4441d9e3ca815307f2fad8adf43204b
@@ -36,14 +36,14 @@ Gem::Specification.new do |spec|
36
36
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
37
37
  spec.require_paths = ['lib']
38
38
 
39
- spec.add_runtime_dependency 'activesupport', '~> 7.0'
40
- spec.add_runtime_dependency 'http', '~> 5.1'
41
- spec.add_runtime_dependency 'json', '~> 2.6'
39
+ spec.add_runtime_dependency 'activesupport', '~> 7.1'
40
+ spec.add_runtime_dependency 'http', '~> 5.2'
41
+ spec.add_runtime_dependency 'json', '~> 2.7'
42
42
  spec.add_runtime_dependency 'jsonpath', '~> 1.1'
43
43
  spec.add_runtime_dependency 'mime-types', '~> 3.5'
44
44
  spec.add_runtime_dependency 'minitar', '= 0.9'
45
- spec.add_runtime_dependency 'nokogiri', '~> 1.15'
46
- spec.add_runtime_dependency 'nori', '~> 2.6'
45
+ spec.add_runtime_dependency 'nokogiri', '~> 1.16'
46
+ spec.add_runtime_dependency 'nori', '~> 2.7'
47
47
  spec.add_runtime_dependency 'iso8601', '~> 0.13'
48
48
  spec.add_runtime_dependency 'listen', '~> 3.8'
49
49
  spec.add_runtime_dependency 'bunny', '~> 2.22'
@@ -52,10 +52,12 @@ Gem::Specification.new do |spec|
52
52
  spec.add_runtime_dependency 'parse-cron', '~> 0.1'
53
53
  spec.add_runtime_dependency 'linkeddata', '~> 3.3'
54
54
  spec.add_runtime_dependency 'connection_pool', '~> 2.4'
55
+ #spec.add_runtime_dependency 'grpc', '~> 1.61'
55
56
 
56
57
 
57
58
  spec.add_development_dependency 'bundler', '~> 2.3'
58
- spec.add_development_dependency 'minitest', '~> 5.18'
59
- spec.add_development_dependency 'rake', '~> 13.0'
60
- spec.add_development_dependency 'webmock', '~> 3.18'
59
+ spec.add_development_dependency 'minitest', '~> 5.22'
60
+ spec.add_development_dependency 'rake', '~> 13.1'
61
+ spec.add_development_dependency 'webmock', '~> 3.22'
62
+ #spec.add_development_dependency 'grpc-tools', '~> 1.61'
61
63
  end
@@ -37,7 +37,7 @@ module DataCollector
37
37
  def self.[]=(key, value)
38
38
  init
39
39
  @config[key] = value
40
- File.open("#{path}/config.yml", 'w') do |f|
40
+ File.open("#{path}/#{@config_file_name}", 'w') do |f|
41
41
  f.puts @config.to_yaml
42
42
  end
43
43
  end
@@ -54,11 +54,11 @@ module DataCollector
54
54
 
55
55
  def self.init
56
56
  discover_config_file_path
57
- raise Errno::ENOENT, "#{@config_file_path}/config.yml Not Found. Set path to config.yml" unless File.exist?("#{@config_file_path}/config.yml")
57
+ raise Errno::ENOENT, "#{@config_file_path}/#{@config_file_name} Not Found. Set path to #{@config_file_name}" unless File.exist?("#{@config_file_path}/#{@config_file_name}")
58
58
 
59
- ftime = File.exist?("#{@config_file_path}/config.yml") ? File.mtime("#{@config_file_path}/config.yml") : nil
59
+ ftime = File.exist?("#{@config_file_path}/#{@config_file_name}") ? File.mtime("#{@config_file_path}/#{@config_file_name}") : nil
60
60
  if @config.empty? || @mtime != ftime
61
- config = YAML::load_file("#{@config_file_path}/config.yml")
61
+ config = YAML::load_file("#{@config_file_path}/#{@config_file_name}", permitted_classes: [Time, Symbol])
62
62
  @config = process(config)
63
63
  end
64
64
  end
@@ -67,9 +67,9 @@ module DataCollector
67
67
  if @config_file_path.nil? || @config_file_path.empty?
68
68
  if ENV.key?('CONFIG_FILE_PATH')
69
69
  @config_file_path = ENV['CONFIG_FILE_PATH']
70
- elsif File.exist?('config.yml')
70
+ elsif File.exist?(@config_file_name)
71
71
  @config_file_path = '.'
72
- elsif File.exist?("config/config.yml")
72
+ elsif File.exist?("config/#{@config_file_name}")
73
73
  @config_file_path = 'config'
74
74
  end
75
75
  end
@@ -140,6 +140,11 @@ module DataCollector
140
140
  http_query_options[:body] = options[:body]
141
141
 
142
142
  http_response = http.follow.post(escape_uri(uri), http_query_options)
143
+ elsif options.key?(:method) && options[:method].downcase.eql?('put')
144
+ raise DataCollector::InputError, "No body found, a PUT request needs a body" unless options.key?(:body)
145
+ http_query_options[:body] = options[:body]
146
+
147
+ http_response = http.follow.put(escape_uri(uri), http_query_options)
143
148
  else
144
149
  http_response = http.follow.get(escape_uri(uri), http_query_options)
145
150
  end
@@ -172,7 +177,7 @@ module DataCollector
172
177
  data = html_to_hash(data, options)
173
178
  when 'text/turtle'
174
179
  graph = RDF::Graph.new do |graph|
175
- RDF::Turtle::Reader.new(data) {|reader| graph << reader}
180
+ RDF::Turtle::Reader.new(data) { |reader| graph << reader }
176
181
  end
177
182
  data = JSON.parse(graph.dump(:jsonld, validate: false, standard_prefixes: true))
178
183
  when /^image/
@@ -238,9 +243,9 @@ module DataCollector
238
243
  data << xml_to_hash(d, options)
239
244
  end
240
245
  end
241
- end #block
242
- end #entry
243
- end #tar
246
+ end # block
247
+ end # entry
248
+ end # tar
244
249
  when '.csv'
245
250
  data = csv_to_hash(data, options)
246
251
  when '.jpg', '.png', '.gif'
@@ -267,7 +272,7 @@ module DataCollector
267
272
 
268
273
  def image_to_data(data, options = {})
269
274
  file_type = options['file_type']
270
- "data:#{file_type};#{Base64.encode64(data)}"
275
+ "data:#{file_type};base64,#{Base64.encode64(data)}"
271
276
  end
272
277
 
273
278
  def xml_to_hash(data, options = {})
@@ -290,7 +295,7 @@ module DataCollector
290
295
 
291
296
  def csv_to_hash(data, options = {})
292
297
  csv_option_keys = options.keys & CSV::DEFAULT_OPTIONS.keys
293
- all_cvs_options = {headers: true, header_converters: [:downcase, :symbol]}
298
+ all_cvs_options = { headers: true, header_converters: [:downcase, :symbol] }
294
299
 
295
300
  csv_option_keys.each do |k|
296
301
  all_cvs_options[k] = options[k]
@@ -288,8 +288,8 @@ module DataCollector
288
288
  end
289
289
 
290
290
  def to_https(uri, options)
291
-
292
- raise 'TODO'
291
+ input = Input.new
292
+ input.from_uri(uri.to_s, options)
293
293
  end
294
294
 
295
295
  def to_file(uri, options)
@@ -0,0 +1,13 @@
1
+ syntax = "proto3";
2
+ package data_collector;
3
+
4
+ option java_multiple_files = true;
5
+ option java_outer_classname = "DataCollectorProto";
6
+ option java_package = "be.celik";
7
+ option ruby_package = "data_collector";
8
+
9
+ import "google/protobuf/struct.proto";
10
+
11
+ message MessageStruct {
12
+ google.protobuf.Struct data = 1;
13
+ }
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module DataCollector
3
- VERSION = "0.44.0"
3
+ VERSION = "0.46.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_collector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.44.0
4
+ version: 0.46.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mehmet Celik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-08 00:00:00.000000000 Z
11
+ date: 2024-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '7.0'
19
+ version: '7.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '7.0'
26
+ version: '7.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: http
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '5.1'
33
+ version: '5.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '5.1'
40
+ version: '5.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: json
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2.6'
47
+ version: '2.7'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '2.6'
54
+ version: '2.7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: jsonpath
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -100,28 +100,28 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.15'
103
+ version: '1.16'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.15'
110
+ version: '1.16'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: nori
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '2.6'
117
+ version: '2.7'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '2.6'
124
+ version: '2.7'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: iso8601
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -254,42 +254,42 @@ dependencies:
254
254
  requirements:
255
255
  - - "~>"
256
256
  - !ruby/object:Gem::Version
257
- version: '5.18'
257
+ version: '5.22'
258
258
  type: :development
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: '5.18'
264
+ version: '5.22'
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: rake
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
269
  - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: '13.0'
271
+ version: '13.1'
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - "~>"
277
277
  - !ruby/object:Gem::Version
278
- version: '13.0'
278
+ version: '13.1'
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: webmock
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
283
  - - "~>"
284
284
  - !ruby/object:Gem::Version
285
- version: '3.18'
285
+ version: '3.22'
286
286
  type: :development
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - "~>"
291
291
  - !ruby/object:Gem::Version
292
- version: '3.18'
292
+ version: '3.22'
293
293
  description: INPUT, FILTER, OUTPUT data with RULES and code
294
294
  email:
295
295
  - mehmet@celik.be
@@ -322,6 +322,7 @@ files:
322
322
  - lib/data_collector/output/generic.rb
323
323
  - lib/data_collector/output/rpc.rb
324
324
  - lib/data_collector/pipeline.rb
325
+ - lib/data_collector/proto/datacollector.proto
325
326
  - lib/data_collector/rules.rb
326
327
  - lib/data_collector/rules.rb.depricated
327
328
  - lib/data_collector/rules_ng.rb
@@ -350,7 +351,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
350
351
  - !ruby/object:Gem::Version
351
352
  version: '0'
352
353
  requirements: []
353
- rubygems_version: 3.4.21
354
+ rubygems_version: 3.5.6
354
355
  signing_key:
355
356
  specification_version: 4
356
357
  summary: ETL helper library