flat_kit 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 +4 -4
- data/HISTORY.md +4 -0
- data/README.md +2 -0
- data/flat_kit.gemspec +4 -4
- data/lib/flat_kit/event_emitter.rb +1 -1
- data/lib/flat_kit/field_stats.rb +1 -1
- data/lib/flat_kit/internal_node.rb +2 -2
- data/lib/flat_kit/leaf_node.rb +1 -1
- data/lib/flat_kit/logger.rb +1 -2
- data/lib/flat_kit/record.rb +1 -1
- data/lib/flat_kit/sort.rb +1 -5
- data/lib/flat_kit/stats.rb +0 -1
- data/lib/flat_kit/xsv/record.rb +2 -4
- data/lib/flat_kit.rb +1 -1
- metadata +3 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 55c7d4c969c2aa0c557c2ed4a8f5481c9e81ad0bb94f8208f03535a61039c7a8
|
|
4
|
+
data.tar.gz: 228b39193561ddc74816eecd31e3b11f66194d2a41dabc297babf5b364a573a6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d326f4b070ba6fef26f713cc22bbc9631e83e466defd189e4a19091c36683aaf7040edb4eda4f22e7b3e6f8b13d91e458a99385faef2462f0254ade6352bc3b8
|
|
7
|
+
data.tar.gz: e02010f519613725147082ece5b664b135a53fadd15258a244d1fc93cc957f3ccc54e4a88b7273879fca04d1562f5ea207c79007fdf6eda9cc5c3e76d2fb718d
|
data/HISTORY.md
CHANGED
data/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
## FlatKit
|
|
2
2
|
|
|
3
|
+
[](https://copiousfreetime.semaphoreci.com/projects/flat_kit)
|
|
4
|
+
|
|
3
5
|
* [Homepage](https://github.com/copiousfreetime/flat_kit/)
|
|
4
6
|
* [Github Project](https://github.com/copiousfreetime/flat_kit)
|
|
5
7
|
|
data/flat_kit.gemspec
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# DO NOT EDIT - This file is automatically generated
|
|
2
2
|
# Make changes to Manifest.txt and/or Rakefile and regenerate
|
|
3
3
|
# -*- encoding: utf-8 -*-
|
|
4
|
-
# stub: flat_kit 1.
|
|
4
|
+
# stub: flat_kit 1.1.0 ruby lib
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "flat_kit".freeze
|
|
8
|
-
s.version = "1.
|
|
8
|
+
s.version = "1.1.0".freeze
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.metadata = { "bug_tracker_uri" => "https://github.com/copiousfreetime/flat_kit/issues", "changelog_uri" => "https://github.com/copiousfreetime/flat_kit/blob/master/HISTORY.md", "homepage_uri" => "https://github.com/copiousfreetime/flat_kit", "label" => "flat_kit", "rubygems_mfa_required" => "true", "source_code_uri" => "https://github.com/copiousfreetime/flat_kit" } if s.respond_to? :metadata=
|
|
12
12
|
s.require_paths = ["lib".freeze]
|
|
13
13
|
s.authors = ["Jeremy Hinegardner".freeze]
|
|
14
14
|
s.bindir = "exe".freeze
|
|
15
|
-
s.date = "
|
|
15
|
+
s.date = "2026-05-23"
|
|
16
16
|
s.description = "A library and commandline program for reading, writing, indexing, sorting, and merging CSV, TSV, JSON and other flat-file formats.".freeze
|
|
17
17
|
s.email = "jeremy@copiousfreetime.org".freeze
|
|
18
18
|
s.executables = ["fk".freeze]
|
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
|
22
22
|
s.licenses = ["MIT".freeze]
|
|
23
23
|
s.rdoc_options = ["--main".freeze, "README.md".freeze, "--markup".freeze, "tomdoc".freeze]
|
|
24
24
|
s.required_ruby_version = Gem::Requirement.new(">= 3.0.0".freeze)
|
|
25
|
-
s.rubygems_version = "
|
|
25
|
+
s.rubygems_version = "4.0.10".freeze
|
|
26
26
|
s.summary = "A library and commandline program for reading, writing, indexing, sorting, and merging CSV, TSV, JSON and other flat-file formats.".freeze
|
|
27
27
|
|
|
28
28
|
s.specification_version = 4
|
|
@@ -8,7 +8,7 @@ module FlatKit
|
|
|
8
8
|
raise ::NoMethodError, "#{listener} does not resond to #on_event" unless listener.respond_to?(:on_event)
|
|
9
9
|
|
|
10
10
|
self._listeners ||= []
|
|
11
|
-
|
|
11
|
+
_listeners << listener unless _listeners.include?(listener)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def count_listeners
|
data/lib/flat_kit/field_stats.rb
CHANGED
|
@@ -60,7 +60,7 @@ module FlatKit
|
|
|
60
60
|
@stats_to_collect.each do |collection_set|
|
|
61
61
|
next if ALL_STATS.include?(collection_set)
|
|
62
62
|
|
|
63
|
-
valid_sets = ALL_STATS.
|
|
63
|
+
valid_sets = ALL_STATS.join(", ")
|
|
64
64
|
|
|
65
65
|
raise ArgumentError, "#{collection_set} is not a valid stats collection set, must be one of #{valid_sets}"
|
|
66
66
|
end
|
|
@@ -73,7 +73,7 @@ module FlatKit
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
def play
|
|
76
|
-
@winner =
|
|
76
|
+
@winner = [left, right].min
|
|
77
77
|
@leaf = winner.leaf unless @winner.sentinel?
|
|
78
78
|
next_level.play if next_level
|
|
79
79
|
end
|
|
@@ -81,7 +81,7 @@ module FlatKit
|
|
|
81
81
|
def <=>(other)
|
|
82
82
|
return -1 if other.sentinel?
|
|
83
83
|
|
|
84
|
-
value <=>
|
|
84
|
+
value <=> other.value
|
|
85
85
|
end
|
|
86
86
|
end
|
|
87
87
|
end
|
data/lib/flat_kit/leaf_node.rb
CHANGED
data/lib/flat_kit/logger.rb
CHANGED
data/lib/flat_kit/record.rb
CHANGED
data/lib/flat_kit/sort.rb
CHANGED
|
@@ -16,11 +16,7 @@ module FlatKit
|
|
|
16
16
|
|
|
17
17
|
def call
|
|
18
18
|
::FlatKit.logger.info "Sorting #{reader.source} into #{writer.destination} using key #{compare_fields.join(', ')}"
|
|
19
|
-
records =
|
|
20
|
-
reader.each do |r|
|
|
21
|
-
a << r
|
|
22
|
-
end
|
|
23
|
-
end
|
|
19
|
+
records = reader.map { |r| r }
|
|
24
20
|
::FlatKit.logger.info "Read #{reader.count} records into #{records.size} element array"
|
|
25
21
|
records.sort!
|
|
26
22
|
::FlatKit.logger.info "Sorted #{records.size} records"
|
data/lib/flat_kit/stats.rb
CHANGED
|
@@ -12,7 +12,6 @@ module FlatKit
|
|
|
12
12
|
|
|
13
13
|
def initialize(input:, output:, input_fallback: "auto", output_fallback: "auto",
|
|
14
14
|
fields_to_stat: AllFields, stats_to_collect: FieldStats::CORE_STATS)
|
|
15
|
-
|
|
16
15
|
@fields_to_stat = fields_to_stat
|
|
17
16
|
@stats_to_collect = stats_to_collect
|
|
18
17
|
@stats_by_field = {}
|
data/lib/flat_kit/xsv/record.rb
CHANGED
|
@@ -58,10 +58,8 @@ module FlatKit
|
|
|
58
58
|
def to_a
|
|
59
59
|
return data.fields unless data.nil?
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
@
|
|
63
|
-
a << @complete_structured_data[field]
|
|
64
|
-
end
|
|
61
|
+
@ordered_fields.map do |field|
|
|
62
|
+
@complete_structured_data[field]
|
|
65
63
|
end
|
|
66
64
|
end
|
|
67
65
|
|
data/lib/flat_kit.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: flat_kit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jeremy Hinegardner
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 2026-05-23 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: oj
|
|
@@ -138,7 +137,6 @@ metadata:
|
|
|
138
137
|
source_code_uri: https://github.com/copiousfreetime/flat_kit
|
|
139
138
|
label: flat_kit
|
|
140
139
|
rubygems_mfa_required: 'true'
|
|
141
|
-
post_install_message:
|
|
142
140
|
rdoc_options:
|
|
143
141
|
- "--main"
|
|
144
142
|
- README.md
|
|
@@ -157,8 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
157
155
|
- !ruby/object:Gem::Version
|
|
158
156
|
version: '0'
|
|
159
157
|
requirements: []
|
|
160
|
-
rubygems_version:
|
|
161
|
-
signing_key:
|
|
158
|
+
rubygems_version: 4.0.10
|
|
162
159
|
specification_version: 4
|
|
163
160
|
summary: A library and commandline program for reading, writing, indexing, sorting,
|
|
164
161
|
and merging CSV, TSV, JSON and other flat-file formats.
|