dorian 1.1.0 → 2.0.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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/bin/dorian +2 -8
  4. data/lib/dorian/bin.rb +341 -0
  5. metadata +10 -625
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1a609b66058cd1e21613e3f7c3a1b57d41100a1a477b7ad9f57f284b266c71e
4
- data.tar.gz: 463085e2d93bf536039d00b5422452f70666661675bab7d1c7a79397b15d8b6b
3
+ metadata.gz: c78800e82338f7d1becb6e86dc4864c6ba7566064b8099ea17efdfb6e1740eba
4
+ data.tar.gz: 0d2974a4085b9ab68bd26d71c7bf18fed19082db05789d036fef829f596f5190
5
5
  SHA512:
6
- metadata.gz: f348a25d349d8d8fe3a5a86fc0a4c4ac3bf6231113fb67e4509b37086e5e2553c0625dcb008c02001194e6d5ab96e1b728e578bc0614c86d95fdb1af1c008179
7
- data.tar.gz: 9dc6eefbd9e4439cedc79431cc8dfe9e6aef2dc09886475587607da9cf0be8967b7a1958b151929735e00b231a84ec1531af61df550fa913def92852d6b75404
6
+ metadata.gz: cf40125e3e04df4dde2492f32f2d89fb5d0393d2111cac63186dac0514a558caa34a251b45b1da23c7d87cbeabf1d6567a4ca3b3b2222b965a4eba3ba6d38fbc
7
+ data.tar.gz: 433d6141662c2e4c9166bc24193742842f7c753b713e9d0fc6652c8e6fdaadb2952fd6148a3317d64ce4765ea8145c801ab7adc64985f76a2ad875d8e6185790
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 2.0.0
data/bin/dorian CHANGED
@@ -1,12 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require "dorian/arguments"
4
+ require_relative "../lib/dorian/bin"
5
5
 
6
- parsed = Dorian::Arguments.parse(version: { alias: :v }, help: { alias: :h })
7
-
8
- if parsed.options.version
9
- abort File.read(File.expand_path("../VERSION", __dir__))
10
- else
11
- abort parsed.help
12
- end
6
+ Dorian::Bin.run
data/lib/dorian/bin.rb ADDED
@@ -0,0 +1,341 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "csv"
4
+ require "dorian/arguments"
5
+ require "dorian/eval"
6
+ require "dorian/progress"
7
+ require "dorian/to_struct"
8
+ require "json"
9
+ require "yaml"
10
+ require "parallel"
11
+
12
+ class Dorian
13
+ class Bin
14
+ VERSION = File.read(File.expand_path("../../VERSION", __dir__))
15
+
16
+ DEFAULT_IO = :raw
17
+
18
+ IO = {
19
+ "csv" => :csv,
20
+ "json" => :json,
21
+ "jsonl" => :jsonl,
22
+ "raw" => :raw,
23
+ "yaml" => :yaml,
24
+ "yml" => :yaml
25
+ }.freeze
26
+
27
+ attr_reader :parsed, :command, :arguments
28
+
29
+ def initialize
30
+ @parsed =
31
+ Dorian::Arguments.parse(
32
+ colorize: {
33
+ aliases: %i[color c],
34
+ default: true
35
+ },
36
+ fast: {
37
+ alias: :f
38
+ },
39
+ input: {
40
+ type: :string,
41
+ alias: :i
42
+ },
43
+ output: {
44
+ type: :string,
45
+ alias: :o
46
+ },
47
+ parallel: {
48
+ alias: :p
49
+ },
50
+ rails: {
51
+ alias: :r
52
+ },
53
+ stderr: {
54
+ alias: :err,
55
+ default: true
56
+ },
57
+ stdout: {
58
+ alias: :out,
59
+ default: true
60
+ },
61
+ stdin: {
62
+ type: :string,
63
+ alias: :in,
64
+ default: :raw
65
+ },
66
+ write: {
67
+ alias: :w
68
+ },
69
+ deep: :boolean,
70
+ debug: {
71
+ alias: :d
72
+ },
73
+ progress: :boolean,
74
+ headers: :boolean,
75
+ progress_format: {
76
+ alias: :pf
77
+ },
78
+ pretty: {
79
+ default: true
80
+ },
81
+ io: :string,
82
+ version: {
83
+ alias: :v
84
+ },
85
+ help: {
86
+ alias: :h
87
+ }
88
+ )
89
+
90
+ @command, *@arguments = parsed.arguments
91
+ end
92
+
93
+ def self.run(...)
94
+ new(...).run
95
+ end
96
+
97
+ def run
98
+ abort help if help?
99
+ abort VERSION if version?
100
+
101
+ case command&.to_sym
102
+ when :read, nil
103
+ command_read
104
+ when :each
105
+ command_each
106
+ else
107
+ abort "#{command} not supported"
108
+ end
109
+ end
110
+
111
+ def files
112
+ parsed.files
113
+ end
114
+
115
+ def command_read
116
+ each(stdin_files + files) do |input|
117
+ outputs(reads(File.read(input)), file: input)
118
+ end
119
+
120
+ each(stdin_arguments) { |input| outputs(reads(input)) }
121
+ end
122
+
123
+ def command_each
124
+ each(read_stdin_files + read_files + stdin_arguments) do |input|
125
+ each(lines(reads(input))) do |line|
126
+ evaluates(arguments.join(" "), it: line)
127
+ end
128
+ end
129
+ end
130
+
131
+ def outputs(content, file: nil)
132
+ if write? && file
133
+ File.write(file, to_output(content))
134
+ else
135
+ puts to_output(content)
136
+ end
137
+ end
138
+
139
+ def to_output(content)
140
+ content = content.from_deep_struct
141
+
142
+ case output
143
+ when :csv
144
+ CSV.generate(headers: headers_of(content)) do |csv|
145
+ csv << headers_of(content) if headers_of(content)
146
+
147
+ each(content) { |row| csv << row }
148
+ end
149
+ when :json
150
+ pretty? ? JSON.pretty_generate(content) : content.to_json
151
+ when :jsonl
152
+ map(content, &:to_json).join("\n")
153
+ when :raw
154
+ content
155
+ when :ruby
156
+ content.inspect
157
+ when :rubyl
158
+ map(content, &:inspect).join("\n")
159
+ when :yaml
160
+ content.to_yaml
161
+ else
162
+ abort "#{output} not supported"
163
+ end
164
+ end
165
+
166
+ def reads(content)
167
+ case input
168
+ when :csv
169
+ if headers?
170
+ map(CSV.parse(content, headers: true), &:to_h).to_deep_struct
171
+ else
172
+ CSV.parse(content)
173
+ end
174
+ when :json
175
+ JSON.parse(content).to_deep_struct
176
+ when :jsonl
177
+ map(content.lines) { |line| JSON.parse(line) }.to_deep_struct
178
+ when :raw
179
+ content
180
+ when :yaml
181
+ YAML.safe_load(content)
182
+ else
183
+ abort "#{input} not supported"
184
+ end
185
+ end
186
+
187
+ def pretty?
188
+ !!options.pretty
189
+ end
190
+
191
+ def read_stdin
192
+ @read_stdin ||= $stdin.each_line.to_a
193
+ end
194
+
195
+ def stdin_files
196
+ return [] if files.any?
197
+ return [] unless stdin == :files
198
+
199
+ read_stdin.map(&:rstrip)
200
+ end
201
+
202
+ def read_stdin_files
203
+ stdin_files.map { |file| File.read(file) }
204
+ end
205
+
206
+ def read_files
207
+ files.map { |file| File.read(file) }
208
+ end
209
+
210
+ def stdin_arguments
211
+ return [] if files.any?
212
+ return [] if stdin == :files
213
+
214
+ [read_stdin.join]
215
+ end
216
+
217
+ def stdin
218
+ options.stdin.to_sym
219
+ end
220
+
221
+ def options
222
+ parsed.options
223
+ end
224
+
225
+ def colorize?
226
+ !!options.colorize
227
+ end
228
+
229
+ def fast?
230
+ !!options.fast
231
+ end
232
+
233
+ def io
234
+ IO.fetch(options.io.to_s, nil)
235
+ end
236
+
237
+ def input
238
+ io || IO.fetch(options.input.to_s, nil) || io_from_files || DEFAULT_IO
239
+ end
240
+
241
+ def output
242
+ io || IO.fetch(options.output.to_s, nil) || io_from_files || DEFAULT_IO
243
+ end
244
+
245
+ def io_from_files
246
+ IO.fetch(File.extname((stdin_files + files).first || "").delete("."), nil)
247
+ end
248
+
249
+ def parallel?
250
+ !!options.parallel
251
+ end
252
+
253
+ def rails?
254
+ !!options.rails
255
+ end
256
+
257
+ def stderr?
258
+ !!options.stderr
259
+ end
260
+
261
+ def stdout?
262
+ !!options.stdout
263
+ end
264
+
265
+ def write?
266
+ !!options.write
267
+ end
268
+
269
+ def debug?
270
+ !!options.debug
271
+ end
272
+
273
+ def progress?
274
+ !!options.progress
275
+ end
276
+
277
+ def headers?
278
+ !!options.headers
279
+ end
280
+
281
+ def progress_format
282
+ options.progress_format
283
+ end
284
+
285
+ def version?
286
+ !!options.version
287
+ end
288
+
289
+ def help?
290
+ !!options.help
291
+ end
292
+
293
+ def help
294
+ parsed.help
295
+ end
296
+
297
+ def headers_of(content)
298
+ return unless headers?
299
+ return unless content.respond_to?(:first)
300
+ return unless content.first
301
+ return unless content.first.respond_to?(:to_h)
302
+ return unless content.first.to_h.keys.any?
303
+
304
+ content.first.to_h.keys
305
+ end
306
+
307
+ def each(collection, &)
308
+ parallel? ? Parallel.each(collection, &) : collection.each(&)
309
+ end
310
+
311
+ def map(collection, &)
312
+ parallel? ? Parallel.map(collection, &) : collection.map(&)
313
+ end
314
+
315
+ def lines(input)
316
+ input.is_a?(String) ? input.lines.map(&:rstrip) : Array(input)
317
+ end
318
+
319
+ def evaluates(
320
+ ruby,
321
+ it: nil,
322
+ debug: debug?,
323
+ stdout: stdout?,
324
+ stderr: stderr?,
325
+ colorize: colorize?,
326
+ rails: rails?,
327
+ returns: false
328
+ )
329
+ Dorian::Eval.eval(
330
+ ruby:,
331
+ it:,
332
+ debug:,
333
+ stdout:,
334
+ stderr:,
335
+ colorize:,
336
+ rails:,
337
+ returns:
338
+ )
339
+ end
340
+ end
341
+ end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dorian
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-29 00:00:00.000000000 Z
11
+ date: 2024-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: dorian-all
14
+ name: csv
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,511 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dorian-anonymize
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: dorian-anonymize-json
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: dorian-anonymize-yaml
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: dorian-arguments
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: dorian-chat
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: dorian-commit
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: dorian-csv-all
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: dorian-csv-each
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: dorian-csv-map
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: dorian-csv-merge
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :runtime
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: dorian-csv-pluck
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :runtime
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
181
- - !ruby/object:Gem::Dependency
182
- name: dorian-csv-uniq
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :runtime
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: dorian-dir
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :runtime
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
- - !ruby/object:Gem::Dependency
210
- name: dorian-dir-and-self
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :runtime
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- - !ruby/object:Gem::Dependency
224
- name: dorian-dot
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :runtime
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '0'
237
- - !ruby/object:Gem::Dependency
238
- name: dorian-each
239
- requirement: !ruby/object:Gem::Requirement
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '0'
244
- type: :runtime
245
- prerelease: false
246
- version_requirements: !ruby/object:Gem::Requirement
247
- requirements:
248
- - - ">="
249
- - !ruby/object:Gem::Version
250
- version: '0'
251
- - !ruby/object:Gem::Dependency
252
- name: dorian-git-ls-ruby-files
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - ">="
256
- - !ruby/object:Gem::Version
257
- version: '0'
258
- type: :runtime
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - ">="
263
- - !ruby/object:Gem::Version
264
- version: '0'
265
- - !ruby/object:Gem::Dependency
266
- name: dorian-git-tree
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - ">="
270
- - !ruby/object:Gem::Version
271
- version: '0'
272
- type: :runtime
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - ">="
277
- - !ruby/object:Gem::Version
278
- version: '0'
279
- - !ruby/object:Gem::Dependency
280
- name: dorian-json-all
281
- requirement: !ruby/object:Gem::Requirement
282
- requirements:
283
- - - ">="
284
- - !ruby/object:Gem::Version
285
- version: '0'
286
- type: :runtime
287
- prerelease: false
288
- version_requirements: !ruby/object:Gem::Requirement
289
- requirements:
290
- - - ">="
291
- - !ruby/object:Gem::Version
292
- version: '0'
293
- - !ruby/object:Gem::Dependency
294
- name: dorian-json-compare
295
- requirement: !ruby/object:Gem::Requirement
296
- requirements:
297
- - - ">="
298
- - !ruby/object:Gem::Version
299
- version: '0'
300
- type: :runtime
301
- prerelease: false
302
- version_requirements: !ruby/object:Gem::Requirement
303
- requirements:
304
- - - ">="
305
- - !ruby/object:Gem::Version
306
- version: '0'
307
- - !ruby/object:Gem::Dependency
308
- name: dorian-json-deep-each
309
- requirement: !ruby/object:Gem::Requirement
310
- requirements:
311
- - - ">="
312
- - !ruby/object:Gem::Version
313
- version: '0'
314
- type: :runtime
315
- prerelease: false
316
- version_requirements: !ruby/object:Gem::Requirement
317
- requirements:
318
- - - ">="
319
- - !ruby/object:Gem::Version
320
- version: '0'
321
- - !ruby/object:Gem::Dependency
322
- name: dorian-json-deep-map
323
- requirement: !ruby/object:Gem::Requirement
324
- requirements:
325
- - - ">="
326
- - !ruby/object:Gem::Version
327
- version: '0'
328
- type: :runtime
329
- prerelease: false
330
- version_requirements: !ruby/object:Gem::Requirement
331
- requirements:
332
- - - ">="
333
- - !ruby/object:Gem::Version
334
- version: '0'
335
- - !ruby/object:Gem::Dependency
336
- name: dorian-json-deep-pluck
337
- requirement: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - ">="
340
- - !ruby/object:Gem::Version
341
- version: '0'
342
- type: :runtime
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - ">="
347
- - !ruby/object:Gem::Version
348
- version: '0'
349
- - !ruby/object:Gem::Dependency
350
- name: dorian-json-each
351
- requirement: !ruby/object:Gem::Requirement
352
- requirements:
353
- - - ">="
354
- - !ruby/object:Gem::Version
355
- version: '0'
356
- type: :runtime
357
- prerelease: false
358
- version_requirements: !ruby/object:Gem::Requirement
359
- requirements:
360
- - - ">="
361
- - !ruby/object:Gem::Version
362
- version: '0'
363
- - !ruby/object:Gem::Dependency
364
- name: dorian-json-map
365
- requirement: !ruby/object:Gem::Requirement
366
- requirements:
367
- - - ">="
368
- - !ruby/object:Gem::Version
369
- version: '0'
370
- type: :runtime
371
- prerelease: false
372
- version_requirements: !ruby/object:Gem::Requirement
373
- requirements:
374
- - - ">="
375
- - !ruby/object:Gem::Version
376
- version: '0'
377
- - !ruby/object:Gem::Dependency
378
- name: dorian-json-pluck
379
- requirement: !ruby/object:Gem::Requirement
380
- requirements:
381
- - - ">="
382
- - !ruby/object:Gem::Version
383
- version: '0'
384
- type: :runtime
385
- prerelease: false
386
- version_requirements: !ruby/object:Gem::Requirement
387
- requirements:
388
- - - ">="
389
- - !ruby/object:Gem::Version
390
- version: '0'
391
- - !ruby/object:Gem::Dependency
392
- name: dorian-json-read-write
393
- requirement: !ruby/object:Gem::Requirement
394
- requirements:
395
- - - ">="
396
- - !ruby/object:Gem::Version
397
- version: '0'
398
- type: :runtime
399
- prerelease: false
400
- version_requirements: !ruby/object:Gem::Requirement
401
- requirements:
402
- - - ">="
403
- - !ruby/object:Gem::Version
404
- version: '0'
405
- - !ruby/object:Gem::Dependency
406
- name: dorian-json-uniq
407
- requirement: !ruby/object:Gem::Requirement
408
- requirements:
409
- - - ">="
410
- - !ruby/object:Gem::Version
411
- version: '0'
412
- type: :runtime
413
- prerelease: false
414
- version_requirements: !ruby/object:Gem::Requirement
415
- requirements:
416
- - - ">="
417
- - !ruby/object:Gem::Version
418
- version: '0'
419
- - !ruby/object:Gem::Dependency
420
- name: dorian-parallel
421
- requirement: !ruby/object:Gem::Requirement
422
- requirements:
423
- - - ">="
424
- - !ruby/object:Gem::Version
425
- version: '0'
426
- type: :runtime
427
- prerelease: false
428
- version_requirements: !ruby/object:Gem::Requirement
429
- requirements:
430
- - - ">="
431
- - !ruby/object:Gem::Version
432
- version: '0'
433
- - !ruby/object:Gem::Dependency
434
- name: dorian-pretty
435
- requirement: !ruby/object:Gem::Requirement
436
- requirements:
437
- - - ">="
438
- - !ruby/object:Gem::Version
439
- version: '0'
440
- type: :runtime
441
- prerelease: false
442
- version_requirements: !ruby/object:Gem::Requirement
443
- requirements:
444
- - - ">="
445
- - !ruby/object:Gem::Version
446
- version: '0'
447
- - !ruby/object:Gem::Dependency
448
- name: dorian-release
449
- requirement: !ruby/object:Gem::Requirement
450
- requirements:
451
- - - ">="
452
- - !ruby/object:Gem::Version
453
- version: '0'
454
- type: :runtime
455
- prerelease: false
456
- version_requirements: !ruby/object:Gem::Requirement
457
- requirements:
458
- - - ">="
459
- - !ruby/object:Gem::Version
460
- version: '0'
461
- - !ruby/object:Gem::Dependency
462
- name: dorian-rename
463
- requirement: !ruby/object:Gem::Requirement
464
- requirements:
465
- - - ">="
466
- - !ruby/object:Gem::Version
467
- version: '0'
468
- type: :runtime
469
- prerelease: false
470
- version_requirements: !ruby/object:Gem::Requirement
471
- requirements:
472
- - - ">="
473
- - !ruby/object:Gem::Version
474
- version: '0'
475
- - !ruby/object:Gem::Dependency
476
- name: dorian-replace
477
- requirement: !ruby/object:Gem::Requirement
478
- requirements:
479
- - - ">="
480
- - !ruby/object:Gem::Version
481
- version: '0'
482
- type: :runtime
483
- prerelease: false
484
- version_requirements: !ruby/object:Gem::Requirement
485
- requirements:
486
- - - ">="
487
- - !ruby/object:Gem::Version
488
- version: '0'
489
- - !ruby/object:Gem::Dependency
490
- name: dorian-shuffle
491
- requirement: !ruby/object:Gem::Requirement
492
- requirements:
493
- - - ">="
494
- - !ruby/object:Gem::Version
495
- version: '0'
496
- type: :runtime
497
- prerelease: false
498
- version_requirements: !ruby/object:Gem::Requirement
499
- requirements:
500
- - - ">="
501
- - !ruby/object:Gem::Version
502
- version: '0'
503
- - !ruby/object:Gem::Dependency
504
- name: dorian-sort-csv
505
- requirement: !ruby/object:Gem::Requirement
506
- requirements:
507
- - - ">="
508
- - !ruby/object:Gem::Version
509
- version: '0'
510
- type: :runtime
511
- prerelease: false
512
- version_requirements: !ruby/object:Gem::Requirement
513
- requirements:
514
- - - ">="
515
- - !ruby/object:Gem::Version
516
- version: '0'
517
- - !ruby/object:Gem::Dependency
518
- name: dorian-sort-json
519
- requirement: !ruby/object:Gem::Requirement
520
- requirements:
521
- - - ">="
522
- - !ruby/object:Gem::Version
523
- version: '0'
524
- type: :runtime
525
- prerelease: false
526
- version_requirements: !ruby/object:Gem::Requirement
527
- requirements:
528
- - - ">="
529
- - !ruby/object:Gem::Version
530
- version: '0'
531
- - !ruby/object:Gem::Dependency
532
- name: dorian-sort-yaml
28
+ name: dorian-arguments
533
29
  requirement: !ruby/object:Gem::Requirement
534
30
  requirements:
535
31
  - - ">="
@@ -543,7 +39,7 @@ dependencies:
543
39
  - !ruby/object:Gem::Version
544
40
  version: '0'
545
41
  - !ruby/object:Gem::Dependency
546
- name: dorian-times
42
+ name: dorian-eval
547
43
  requirement: !ruby/object:Gem::Requirement
548
44
  requirements:
549
45
  - - ">="
@@ -557,7 +53,7 @@ dependencies:
557
53
  - !ruby/object:Gem::Version
558
54
  version: '0'
559
55
  - !ruby/object:Gem::Dependency
560
- name: dorian-top
56
+ name: dorian-progress
561
57
  requirement: !ruby/object:Gem::Requirement
562
58
  requirements:
563
59
  - - ">="
@@ -585,119 +81,7 @@ dependencies:
585
81
  - !ruby/object:Gem::Version
586
82
  version: '0'
587
83
  - !ruby/object:Gem::Dependency
588
- name: dorian-write
589
- requirement: !ruby/object:Gem::Requirement
590
- requirements:
591
- - - ">="
592
- - !ruby/object:Gem::Version
593
- version: '0'
594
- type: :runtime
595
- prerelease: false
596
- version_requirements: !ruby/object:Gem::Requirement
597
- requirements:
598
- - - ">="
599
- - !ruby/object:Gem::Version
600
- version: '0'
601
- - !ruby/object:Gem::Dependency
602
- name: dorian-yaml-all
603
- requirement: !ruby/object:Gem::Requirement
604
- requirements:
605
- - - ">="
606
- - !ruby/object:Gem::Version
607
- version: '0'
608
- type: :runtime
609
- prerelease: false
610
- version_requirements: !ruby/object:Gem::Requirement
611
- requirements:
612
- - - ">="
613
- - !ruby/object:Gem::Version
614
- version: '0'
615
- - !ruby/object:Gem::Dependency
616
- name: dorian-yaml-compare
617
- requirement: !ruby/object:Gem::Requirement
618
- requirements:
619
- - - ">="
620
- - !ruby/object:Gem::Version
621
- version: '0'
622
- type: :runtime
623
- prerelease: false
624
- version_requirements: !ruby/object:Gem::Requirement
625
- requirements:
626
- - - ">="
627
- - !ruby/object:Gem::Version
628
- version: '0'
629
- - !ruby/object:Gem::Dependency
630
- name: dorian-yaml-deep-each
631
- requirement: !ruby/object:Gem::Requirement
632
- requirements:
633
- - - ">="
634
- - !ruby/object:Gem::Version
635
- version: '0'
636
- type: :runtime
637
- prerelease: false
638
- version_requirements: !ruby/object:Gem::Requirement
639
- requirements:
640
- - - ">="
641
- - !ruby/object:Gem::Version
642
- version: '0'
643
- - !ruby/object:Gem::Dependency
644
- name: dorian-yaml-deep-map
645
- requirement: !ruby/object:Gem::Requirement
646
- requirements:
647
- - - ">="
648
- - !ruby/object:Gem::Version
649
- version: '0'
650
- type: :runtime
651
- prerelease: false
652
- version_requirements: !ruby/object:Gem::Requirement
653
- requirements:
654
- - - ">="
655
- - !ruby/object:Gem::Version
656
- version: '0'
657
- - !ruby/object:Gem::Dependency
658
- name: dorian-yaml-deep-pluck
659
- requirement: !ruby/object:Gem::Requirement
660
- requirements:
661
- - - ">="
662
- - !ruby/object:Gem::Version
663
- version: '0'
664
- type: :runtime
665
- prerelease: false
666
- version_requirements: !ruby/object:Gem::Requirement
667
- requirements:
668
- - - ">="
669
- - !ruby/object:Gem::Version
670
- version: '0'
671
- - !ruby/object:Gem::Dependency
672
- name: dorian-yaml-each
673
- requirement: !ruby/object:Gem::Requirement
674
- requirements:
675
- - - ">="
676
- - !ruby/object:Gem::Version
677
- version: '0'
678
- type: :runtime
679
- prerelease: false
680
- version_requirements: !ruby/object:Gem::Requirement
681
- requirements:
682
- - - ">="
683
- - !ruby/object:Gem::Version
684
- version: '0'
685
- - !ruby/object:Gem::Dependency
686
- name: dorian-yaml-map
687
- requirement: !ruby/object:Gem::Requirement
688
- requirements:
689
- - - ">="
690
- - !ruby/object:Gem::Version
691
- version: '0'
692
- type: :runtime
693
- prerelease: false
694
- version_requirements: !ruby/object:Gem::Requirement
695
- requirements:
696
- - - ">="
697
- - !ruby/object:Gem::Version
698
- version: '0'
699
- - !ruby/object:Gem::Dependency
700
- name: dorian-yaml-pluck
84
+ name: json
701
85
  requirement: !ruby/object:Gem::Requirement
702
86
  requirements:
703
87
  - - ">="
@@ -711,7 +95,7 @@ dependencies:
711
95
  - !ruby/object:Gem::Version
712
96
  version: '0'
713
97
  - !ruby/object:Gem::Dependency
714
- name: dorian-yaml-read-write
98
+ name: parallel
715
99
  requirement: !ruby/object:Gem::Requirement
716
100
  requirements:
717
101
  - - ">="
@@ -725,7 +109,7 @@ dependencies:
725
109
  - !ruby/object:Gem::Version
726
110
  version: '0'
727
111
  - !ruby/object:Gem::Dependency
728
- name: dorian-yaml-uniq
112
+ name: yaml
729
113
  requirement: !ruby/object:Gem::Requirement
730
114
  requirements:
731
115
  - - ">="
@@ -747,6 +131,7 @@ extra_rdoc_files: []
747
131
  files:
748
132
  - VERSION
749
133
  - bin/dorian
134
+ - lib/dorian/bin.rb
750
135
  homepage: https://github.com/dorianmariecom/dorian
751
136
  licenses:
752
137
  - MIT