fall 0.0.0.2 → 0.0.0.4

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/exe/fall +51 -0
  3. data/lib/fall/version.rb +1 -1
  4. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8248a14aeee0ee0ec5e2d9489fba06521f17bdc021679db52f2f669f6a36c6e
4
- data.tar.gz: 98a35c3e55c7bec0eba79c9706ad45ed7b79cde090d6af072bcdb30b31d40a40
3
+ metadata.gz: ed6f486e4b8d139fa0960687cbdb1b72aeb0325ac6fa4ab0f4b071916174d7c5
4
+ data.tar.gz: ceeea1be2a527c9a70a67d80399ecd551c02ff6959cf0c47fe26e322e9c69a35
5
5
  SHA512:
6
- metadata.gz: 12a773f8e4905f785488954bb14d5bf818a9e39136ac766d1a96c85b471742c163d11ce5eb432ae6374b10b110164d16960724a0c664bf2a853ee0ac15d7efe7
7
- data.tar.gz: 61bc56a65ac235b469e3ba405c53adb08ce261d17f35bc34ac84094eee1b0cd621969c4e6be8877c8c95f5f1e072c73c0e1ec46ad3cb05ad6f007e2698b2a149
6
+ metadata.gz: ca315e025c652106d14c793d7e78d74fb6f61aaaff790672b8e5d7edb0e6adbd7a72e91090b49e1577a80591d7b5cf75930426b41117a03614df4e95c7b6ea3c
7
+ data.tar.gz: b82c18f7c96a1097688e8d3bdfce20aa48bcad11adff3dafc1cbbae973128f343da1eacd16db1b80ca60b64b8b44a8c45617fe10645f6363cda009c22279112e
data/exe/fall ADDED
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ root_path = File.expand_path('../', __dir__)
4
+ require File.join(root_path, 'lib', 'fall.rb')
5
+ require 'optparse'
6
+
7
+ options = {
8
+ input_delimiter: ' ',
9
+ output_delimiter: ' ',
10
+ requirements: [],
11
+ }
12
+
13
+ OptionParser.new do |opts|
14
+ opts.banner = 'Usage: fall [options]'
15
+
16
+ opts.on('-i', '--input-delimiter DELIMITER', 'Input delimiter') do |delimiter|
17
+ options[:input_delimiter] = delimiter
18
+ end
19
+
20
+ opts.on('-o', '--output-delimiter DELIMITER', 'Output delimiter') do |delimiter|
21
+ options[:output_delimiter] = delimiter
22
+ end
23
+
24
+ opts.on('-r', '--require LIB', 'Require a gem or file') do |lib|
25
+ options[:requirements] << lib
26
+ end
27
+ end.parse!
28
+
29
+ options => { input_delimiter:, output_delimiter:, requirements: }
30
+
31
+ requirements.each do |lib|
32
+ require lib
33
+ end
34
+
35
+ command = ARGV.shift
36
+ enum = ARGF.each_line
37
+ .map(&:chomp)
38
+ .map { |row| row.split(input_delimiter) }
39
+ .lazy
40
+
41
+ parser = Fall::Parser.new(command)
42
+ operations = parser.parse
43
+ pipeline = Fall::Pipeline.new(enum)
44
+
45
+ operations.each do |operation|
46
+ pipeline.add_operation(operation)
47
+ end
48
+
49
+ pipeline.to_enum
50
+ .map { _1.respond_to?(:join) ? _1.join(output_delimiter) : _1 }
51
+ .each { puts _1 }
data/lib/fall/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fall
4
- VERSION = "0.0.0.2"
4
+ VERSION = "0.0.0.4"
5
5
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fall
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.2
4
+ version: 0.0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - " David Gillis"
8
- bindir: bin
8
+ bindir: exe
9
9
  cert_chain: []
10
10
  date: 2025-04-07 00:00:00.000000000 Z
11
11
  dependencies:
@@ -72,6 +72,7 @@ executables: []
72
72
  extensions: []
73
73
  extra_rdoc_files: []
74
74
  files:
75
+ - exe/fall
75
76
  - lib/fall.rb
76
77
  - lib/fall/ext/enumerable.rb
77
78
  - lib/fall/ext/enumerator/lazy.rb