stream_lines 0.3.0 → 0.4.1
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/.github/dependabot.yml +12 -0
- data/.github/workflows/ruby-tests.yml +32 -0
- data/.github/workflows/style-check.yml +30 -0
- data/.rubocop.yml +2 -0
- data/.ruby-version +1 -1
- data/Gemfile.lock +62 -52
- data/README.md +36 -4
- data/bin/console +2 -0
- data/lib/stream_lines/reading/csv.rb +5 -2
- data/lib/stream_lines/reading/json_lines.rb +2 -2
- data/lib/stream_lines/reading/stream.rb +27 -12
- data/lib/stream_lines/version.rb +1 -1
- data/stream_lines.gemspec +3 -1
- metadata +40 -10
- data/.travis.yml +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d12669d8a8c0f786d731b6fb98374e4105b483379e6ad9b0cb346a62289c5481
|
|
4
|
+
data.tar.gz: 67607b92517c8b6151e576258314ed4896344893b1a5160602e018aa0aae7d28
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 178c5fc570b8dba9330efcd6493b2437fdbd6ed277e3ec653d7c6e436fcb959fea89110781059e5a6acf3e821fa5cb098afcee35664dbac028469baf3542f5cf
|
|
7
|
+
data.tar.gz: a9e08b3b01ad37fd2daf0e1e10ed729fb8ceabe0e151c2e147c0d131216bf2f1cca2562240890db816a869fc2c7f8c52618796769b20cb8c92e920b16cf11ff0
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: Tests (Ruby)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- '*'
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
test:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
strategy:
|
|
15
|
+
matrix:
|
|
16
|
+
ruby_version:
|
|
17
|
+
- 2.6
|
|
18
|
+
- 2.7
|
|
19
|
+
- 3.0
|
|
20
|
+
- 3.1
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v2
|
|
23
|
+
- name: Set up Ruby
|
|
24
|
+
uses: ruby/setup-ruby@v1
|
|
25
|
+
with:
|
|
26
|
+
ruby-version: ${{ matrix.ruby_version }}
|
|
27
|
+
- name: Ruby version
|
|
28
|
+
run: ruby -v
|
|
29
|
+
- name: Install dependencies
|
|
30
|
+
run: bundle install
|
|
31
|
+
- name: Run tests
|
|
32
|
+
run: bundle exec rake
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
+
# They are provided by a third-party and are governed by
|
|
3
|
+
# separate terms of service, privacy policy, and support
|
|
4
|
+
# documentation.
|
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
+
|
|
8
|
+
name: Style Check
|
|
9
|
+
|
|
10
|
+
on:
|
|
11
|
+
push:
|
|
12
|
+
branches:
|
|
13
|
+
- main
|
|
14
|
+
pull_request:
|
|
15
|
+
branches:
|
|
16
|
+
- '*'
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
rubocop:
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v2
|
|
23
|
+
- name: Set up Ruby
|
|
24
|
+
uses: ruby/setup-ruby@v1
|
|
25
|
+
with:
|
|
26
|
+
ruby-version: 3.0
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: bundle install
|
|
29
|
+
- name: Run Rubocop
|
|
30
|
+
run: bundle exec rubocop -D
|
data/.rubocop.yml
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3.1.2
|
data/Gemfile.lock
CHANGED
|
@@ -1,78 +1,85 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
stream_lines (0.
|
|
4
|
+
stream_lines (0.4.1)
|
|
5
5
|
httparty (~> 0.14)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
addressable (2.
|
|
10
|
+
addressable (2.8.0)
|
|
11
11
|
public_suffix (>= 2.0.2, < 5.0)
|
|
12
|
-
ast (2.4.
|
|
13
|
-
awesome_print (1.
|
|
14
|
-
backports (3.
|
|
15
|
-
bundler-audit (0.
|
|
12
|
+
ast (2.4.2)
|
|
13
|
+
awesome_print (1.9.2)
|
|
14
|
+
backports (3.17.2)
|
|
15
|
+
bundler-audit (0.9.0.1)
|
|
16
16
|
bundler (>= 1.2.0, < 3)
|
|
17
|
-
thor (~> 0
|
|
17
|
+
thor (~> 1.0)
|
|
18
18
|
bundler-gem_version_tasks (0.2.1)
|
|
19
|
-
byebug (11.1.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
byebug (11.1.3)
|
|
20
|
+
charlock_holmes (0.7.7)
|
|
21
|
+
crack (0.4.5)
|
|
22
|
+
rexml
|
|
23
|
+
diff-lcs (1.5.0)
|
|
24
|
+
docile (1.3.4)
|
|
25
|
+
ffi (1.13.1)
|
|
26
|
+
get_process_mem (0.2.7)
|
|
26
27
|
ffi (~> 1.0)
|
|
27
|
-
hashdiff (1.0.
|
|
28
|
-
httparty (0.
|
|
28
|
+
hashdiff (1.0.1)
|
|
29
|
+
httparty (0.20.0)
|
|
29
30
|
mime-types (~> 3.0)
|
|
30
31
|
multi_xml (>= 0.5.2)
|
|
31
|
-
|
|
32
|
-
memory_profiler (0.9.14)
|
|
32
|
+
memory_profiler (1.0.0)
|
|
33
33
|
mime-types (3.3.1)
|
|
34
34
|
mime-types-data (~> 3.2015)
|
|
35
|
-
mime-types-data (3.
|
|
35
|
+
mime-types-data (3.2021.0901)
|
|
36
36
|
multi_json (1.14.1)
|
|
37
37
|
multi_xml (0.6.0)
|
|
38
38
|
mustermann (1.1.1)
|
|
39
39
|
ruby2_keywords (~> 0.0.1)
|
|
40
|
-
parallel (1.
|
|
41
|
-
parser (
|
|
42
|
-
ast (~> 2.4.
|
|
43
|
-
public_suffix (4.0.
|
|
44
|
-
rack (2.
|
|
40
|
+
parallel (1.22.1)
|
|
41
|
+
parser (3.1.1.0)
|
|
42
|
+
ast (~> 2.4.1)
|
|
43
|
+
public_suffix (4.0.6)
|
|
44
|
+
rack (2.2.3)
|
|
45
45
|
rack-protection (2.0.8.1)
|
|
46
46
|
rack
|
|
47
|
-
rainbow (3.
|
|
48
|
-
rake (13.0.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
rspec-
|
|
53
|
-
|
|
54
|
-
rspec-
|
|
55
|
-
rspec-
|
|
47
|
+
rainbow (3.1.1)
|
|
48
|
+
rake (13.0.6)
|
|
49
|
+
regexp_parser (2.3.0)
|
|
50
|
+
rexml (3.2.5)
|
|
51
|
+
rspec (3.11.0)
|
|
52
|
+
rspec-core (~> 3.11.0)
|
|
53
|
+
rspec-expectations (~> 3.11.0)
|
|
54
|
+
rspec-mocks (~> 3.11.0)
|
|
55
|
+
rspec-core (3.11.0)
|
|
56
|
+
rspec-support (~> 3.11.0)
|
|
57
|
+
rspec-expectations (3.11.0)
|
|
56
58
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
57
|
-
rspec-support (~> 3.
|
|
58
|
-
rspec-mocks (3.
|
|
59
|
+
rspec-support (~> 3.11.0)
|
|
60
|
+
rspec-mocks (3.11.0)
|
|
59
61
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
60
|
-
rspec-support (~> 3.
|
|
61
|
-
rspec-support (3.
|
|
62
|
-
rubocop (
|
|
63
|
-
jaro_winkler (~> 1.5.1)
|
|
62
|
+
rspec-support (~> 3.11.0)
|
|
63
|
+
rspec-support (3.11.0)
|
|
64
|
+
rubocop (1.27.0)
|
|
64
65
|
parallel (~> 1.10)
|
|
65
|
-
parser (>=
|
|
66
|
+
parser (>= 3.1.0.0)
|
|
66
67
|
rainbow (>= 2.2.2, < 4.0)
|
|
68
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
69
|
+
rexml
|
|
70
|
+
rubocop-ast (>= 1.16.0, < 2.0)
|
|
67
71
|
ruby-progressbar (~> 1.7)
|
|
68
|
-
unicode-display_width (>= 1.4.0, <
|
|
69
|
-
|
|
72
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
73
|
+
rubocop-ast (1.17.0)
|
|
74
|
+
parser (>= 3.1.1.0)
|
|
75
|
+
ruby-progressbar (1.11.0)
|
|
70
76
|
ruby2_keywords (0.0.2)
|
|
71
|
-
|
|
72
|
-
simplecov (0.18.1)
|
|
77
|
+
simplecov (0.21.2)
|
|
73
78
|
docile (~> 1.1)
|
|
74
|
-
simplecov-html (~> 0.11
|
|
75
|
-
|
|
79
|
+
simplecov-html (~> 0.11)
|
|
80
|
+
simplecov_json_formatter (~> 0.1)
|
|
81
|
+
simplecov-html (0.12.3)
|
|
82
|
+
simplecov_json_formatter (0.1.2)
|
|
76
83
|
sinatra (2.0.8.1)
|
|
77
84
|
mustermann (~> 1.0)
|
|
78
85
|
rack (~> 2.0)
|
|
@@ -85,13 +92,14 @@ GEM
|
|
|
85
92
|
rack-protection (= 2.0.8.1)
|
|
86
93
|
sinatra (= 2.0.8.1)
|
|
87
94
|
tilt (~> 2.0)
|
|
88
|
-
thor (
|
|
95
|
+
thor (1.1.0)
|
|
89
96
|
tilt (2.0.10)
|
|
90
|
-
unicode-display_width (1.
|
|
91
|
-
webmock (3.
|
|
92
|
-
addressable (>= 2.
|
|
97
|
+
unicode-display_width (2.1.0)
|
|
98
|
+
webmock (3.14.0)
|
|
99
|
+
addressable (>= 2.8.0)
|
|
93
100
|
crack (>= 0.3.2)
|
|
94
101
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
102
|
+
webrick (1.7.0)
|
|
95
103
|
|
|
96
104
|
PLATFORMS
|
|
97
105
|
ruby
|
|
@@ -102,16 +110,18 @@ DEPENDENCIES
|
|
|
102
110
|
bundler-audit
|
|
103
111
|
bundler-gem_version_tasks
|
|
104
112
|
byebug
|
|
113
|
+
charlock_holmes
|
|
105
114
|
get_process_mem
|
|
106
115
|
memory_profiler
|
|
107
116
|
rake (~> 13.0)
|
|
108
117
|
rspec (~> 3.0)
|
|
109
|
-
rubocop (~>
|
|
118
|
+
rubocop (~> 1.27.0)
|
|
110
119
|
simplecov (~> 0.17)
|
|
111
120
|
sinatra (~> 2.0)
|
|
112
121
|
sinatra-contrib (~> 2.0)
|
|
113
122
|
stream_lines!
|
|
114
123
|
webmock (~> 3.0)
|
|
124
|
+
webrick (~> 1.7)
|
|
115
125
|
|
|
116
126
|
BUNDLED WITH
|
|
117
|
-
2.
|
|
127
|
+
2.3.11
|
data/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# StreamLines
|
|
2
2
|
|
|
3
|
-
[](https://badge.fury.io/rb/stream_lines)
|
|
4
|
+
[](https://github.com/jdlubrano/stream_lines/actions/workflows/ruby-tests.yml)
|
|
4
5
|
|
|
5
6
|
An API for streaming files from remote locations one line at a time.
|
|
6
7
|
|
|
@@ -54,6 +55,37 @@ stream.each_slice(100) do |lines|
|
|
|
54
55
|
end
|
|
55
56
|
```
|
|
56
57
|
|
|
58
|
+
##### Caveats
|
|
59
|
+
|
|
60
|
+
This library strives to provide streamed data via an `Enumerable` interface.
|
|
61
|
+
In order to be memory-efficient, however, each time the stream is iterated over,
|
|
62
|
+
a new GET request is made to fetch the data from its remote URL. For example,
|
|
63
|
+
|
|
64
|
+
```ruby
|
|
65
|
+
url = 'https://my.remote.file/file.txt'
|
|
66
|
+
stream = StreamLines::Reading::Stream.new(url)
|
|
67
|
+
do_something_with_first_row(stream.first) # GET request made
|
|
68
|
+
|
|
69
|
+
stream.each do |line| # same GET request made
|
|
70
|
+
# Do something with the line of data (the line will be a String)
|
|
71
|
+
end
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
makes two GET requests. The call to `first` makes a GET request to fetch
|
|
75
|
+
the first row of data. The subsequent call to `each` makes the same GET
|
|
76
|
+
request. To avoid unnecessary requests, I recommend a slightly different
|
|
77
|
+
approach, which may not be intuitive but does make only one network request:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
url = 'https://my.remote.file/file.txt'
|
|
81
|
+
stream = StreamLines::Reading::Stream.new(url)
|
|
82
|
+
|
|
83
|
+
stream.each_with_index do |line, i|
|
|
84
|
+
do_something_with_first_row(line) if i.zero?
|
|
85
|
+
# Do something with the line of data (the line will be a String)
|
|
86
|
+
end
|
|
87
|
+
```
|
|
88
|
+
|
|
57
89
|
##### CSVs
|
|
58
90
|
|
|
59
91
|
This gem provides first-class support for streaming CSVs from a remote URL.
|
|
@@ -118,10 +150,10 @@ To install this gem onto your local machine, run `bundle exec rake install`.
|
|
|
118
150
|
|
|
119
151
|
## Releasing
|
|
120
152
|
|
|
121
|
-
After merging in the new functionality to the
|
|
153
|
+
After merging in the new functionality to the main branch:
|
|
122
154
|
|
|
123
155
|
```
|
|
124
|
-
git checkout
|
|
156
|
+
git checkout main
|
|
125
157
|
git pull --prune
|
|
126
158
|
bundle exec rake version:bump:<major, minor, or patch>
|
|
127
159
|
bundle exec rubocop -a
|
|
@@ -134,7 +166,7 @@ bundle exec rake release
|
|
|
134
166
|
Bug reports and pull requests are welcome on GitHub at
|
|
135
167
|
https://github.com/jdlubrano/stream_lines. This project is intended to be a
|
|
136
168
|
safe, welcoming space for collaboration, and contributors are expected to
|
|
137
|
-
adhere to the [code of conduct](https://github.com/jdlubrano/stream_lines/blob/
|
|
169
|
+
adhere to the [code of conduct](https://github.com/jdlubrano/stream_lines/blob/main/CODE_OF_CONDUCT.md).
|
|
138
170
|
|
|
139
171
|
## License
|
|
140
172
|
|
data/bin/console
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
# frozen_string_literal: true
|
|
4
4
|
|
|
5
5
|
require 'bundler/setup'
|
|
6
|
+
require 'byebug'
|
|
6
7
|
require 'stream_lines'
|
|
8
|
+
require 'charlock_holmes/string'
|
|
7
9
|
|
|
8
10
|
# You can add fixtures and/or initialization code here to make experimenting
|
|
9
11
|
# with your gem easier. You can also use a different console, if you like.
|
|
@@ -23,7 +23,10 @@ module StreamLines
|
|
|
23
23
|
def initialize(url, **csv_options)
|
|
24
24
|
@url = url
|
|
25
25
|
@csv_options = accepted_csv_options(csv_options)
|
|
26
|
-
@
|
|
26
|
+
@first_row_headers = @csv_options[:headers] == true
|
|
27
|
+
|
|
28
|
+
encoding = @csv_options[:encoding] || Encoding.default_external
|
|
29
|
+
@stream = Stream.new(url, encoding: encoding)
|
|
27
30
|
end
|
|
28
31
|
|
|
29
32
|
def each(&block)
|
|
@@ -39,7 +42,7 @@ module StreamLines
|
|
|
39
42
|
attr_reader :url
|
|
40
43
|
|
|
41
44
|
def first_row_headers?
|
|
42
|
-
@
|
|
45
|
+
@first_row_headers
|
|
43
46
|
end
|
|
44
47
|
|
|
45
48
|
def assign_first_row_headers(first_line)
|
|
@@ -8,10 +8,10 @@ module StreamLines
|
|
|
8
8
|
class JSONLines
|
|
9
9
|
include Enumerable
|
|
10
10
|
|
|
11
|
-
def initialize(url, **json_options)
|
|
11
|
+
def initialize(url, encoding: Encoding.default_external, **json_options)
|
|
12
12
|
@url = url
|
|
13
13
|
@json_options = json_options
|
|
14
|
-
@stream = Stream.new(url)
|
|
14
|
+
@stream = Stream.new(url, encoding: encoding)
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def each(&block)
|
|
@@ -12,9 +12,10 @@ module StreamLines
|
|
|
12
12
|
|
|
13
13
|
raise_on 400..599
|
|
14
14
|
|
|
15
|
-
def initialize(url)
|
|
15
|
+
def initialize(url, encoding: Encoding.default_external)
|
|
16
16
|
@url = url
|
|
17
|
-
@
|
|
17
|
+
@encoding = encoding
|
|
18
|
+
@buffer = String.new(encoding: @encoding)
|
|
18
19
|
end
|
|
19
20
|
|
|
20
21
|
def each(&block)
|
|
@@ -33,22 +34,36 @@ module StreamLines
|
|
|
33
34
|
lines.each { |line| block.call(line) }
|
|
34
35
|
end
|
|
35
36
|
|
|
36
|
-
@buffer.
|
|
37
|
-
block.call(@buffer.read) if @buffer.size.positive?
|
|
37
|
+
block.call(@buffer) if @buffer.size.positive?
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
def extract_lines(chunk)
|
|
41
|
-
|
|
41
|
+
encoded_chunk = @buffer + chunk.to_s.dup.force_encoding(@encoding)
|
|
42
|
+
lines = split_lines(encoded_chunk)
|
|
43
|
+
@buffer = String.new(encoding: @encoding)
|
|
44
|
+
@buffer << lines.pop.to_s
|
|
42
45
|
|
|
43
|
-
if lines.length > 1
|
|
44
|
-
@buffer.rewind
|
|
45
|
-
lines.first.prepend(@buffer.read)
|
|
46
|
-
@buffer.truncate(0)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
@buffer << lines.pop
|
|
50
46
|
lines
|
|
51
47
|
end
|
|
48
|
+
|
|
49
|
+
def split_lines(encoded_chunk)
|
|
50
|
+
encoded_chunk.split($INPUT_RECORD_SEPARATOR, -1)
|
|
51
|
+
rescue ArgumentError => e
|
|
52
|
+
raise e unless /invalid byte sequence/.match?(e.message)
|
|
53
|
+
|
|
54
|
+
# NOTE: (jdlubrano)
|
|
55
|
+
# The last byte in the chunk is most likely a part of a multibyte
|
|
56
|
+
# character that, on its own, is an invalid byte sequence. So, we
|
|
57
|
+
# want to split the lines containing all valid bytes and make the
|
|
58
|
+
# trailing bytes the last line. The last line eventually gets added
|
|
59
|
+
# to the buffer, prepended to the next chunk, and, hopefully, restores
|
|
60
|
+
# a valid byte sequence.
|
|
61
|
+
last_newline_index = encoded_chunk.rindex($INPUT_RECORD_SEPARATOR)
|
|
62
|
+
return [encoded_chunk] if last_newline_index.nil?
|
|
63
|
+
|
|
64
|
+
valid_lines = encoded_chunk[0...last_newline_index].split($INPUT_RECORD_SEPARATOR, -1)
|
|
65
|
+
valid_lines + [encoded_chunk[(last_newline_index + 1)..-1]].compact
|
|
66
|
+
end
|
|
52
67
|
end
|
|
53
68
|
end
|
|
54
69
|
end
|
data/lib/stream_lines/version.rb
CHANGED
data/stream_lines.gemspec
CHANGED
|
@@ -33,13 +33,15 @@ Gem::Specification.new do |spec|
|
|
|
33
33
|
spec.add_development_dependency 'bundler-audit'
|
|
34
34
|
spec.add_development_dependency 'bundler-gem_version_tasks'
|
|
35
35
|
spec.add_development_dependency 'byebug'
|
|
36
|
+
spec.add_development_dependency 'charlock_holmes'
|
|
36
37
|
spec.add_development_dependency 'get_process_mem'
|
|
37
38
|
spec.add_development_dependency 'memory_profiler'
|
|
38
39
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
39
40
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
40
|
-
spec.add_development_dependency 'rubocop', '~>
|
|
41
|
+
spec.add_development_dependency 'rubocop', '~> 1.27.0'
|
|
41
42
|
spec.add_development_dependency 'simplecov', '~> 0.17'
|
|
42
43
|
spec.add_development_dependency 'sinatra', '~> 2.0'
|
|
43
44
|
spec.add_development_dependency 'sinatra-contrib', '~> 2.0'
|
|
45
|
+
spec.add_development_dependency 'webrick', '~> 1.7'
|
|
44
46
|
spec.add_development_dependency 'webmock', '~> 3.0'
|
|
45
47
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: stream_lines
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joel Lubrano
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-04-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: httparty
|
|
@@ -94,6 +94,20 @@ dependencies:
|
|
|
94
94
|
- - ">="
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: charlock_holmes
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
97
111
|
- !ruby/object:Gem::Dependency
|
|
98
112
|
name: get_process_mem
|
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,14 +170,14 @@ dependencies:
|
|
|
156
170
|
requirements:
|
|
157
171
|
- - "~>"
|
|
158
172
|
- !ruby/object:Gem::Version
|
|
159
|
-
version:
|
|
173
|
+
version: 1.27.0
|
|
160
174
|
type: :development
|
|
161
175
|
prerelease: false
|
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
177
|
requirements:
|
|
164
178
|
- - "~>"
|
|
165
179
|
- !ruby/object:Gem::Version
|
|
166
|
-
version:
|
|
180
|
+
version: 1.27.0
|
|
167
181
|
- !ruby/object:Gem::Dependency
|
|
168
182
|
name: simplecov
|
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -206,6 +220,20 @@ dependencies:
|
|
|
206
220
|
- - "~>"
|
|
207
221
|
- !ruby/object:Gem::Version
|
|
208
222
|
version: '2.0'
|
|
223
|
+
- !ruby/object:Gem::Dependency
|
|
224
|
+
name: webrick
|
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
|
226
|
+
requirements:
|
|
227
|
+
- - "~>"
|
|
228
|
+
- !ruby/object:Gem::Version
|
|
229
|
+
version: '1.7'
|
|
230
|
+
type: :development
|
|
231
|
+
prerelease: false
|
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
233
|
+
requirements:
|
|
234
|
+
- - "~>"
|
|
235
|
+
- !ruby/object:Gem::Version
|
|
236
|
+
version: '1.7'
|
|
209
237
|
- !ruby/object:Gem::Dependency
|
|
210
238
|
name: webmock
|
|
211
239
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -220,19 +248,21 @@ dependencies:
|
|
|
220
248
|
- - "~>"
|
|
221
249
|
- !ruby/object:Gem::Version
|
|
222
250
|
version: '3.0'
|
|
223
|
-
description:
|
|
251
|
+
description:
|
|
224
252
|
email:
|
|
225
253
|
- joel.lubrano@gmail.com
|
|
226
254
|
executables: []
|
|
227
255
|
extensions: []
|
|
228
256
|
extra_rdoc_files: []
|
|
229
257
|
files:
|
|
258
|
+
- ".github/dependabot.yml"
|
|
259
|
+
- ".github/workflows/ruby-tests.yml"
|
|
260
|
+
- ".github/workflows/style-check.yml"
|
|
230
261
|
- ".gitignore"
|
|
231
262
|
- ".rspec"
|
|
232
263
|
- ".rubocop.yml"
|
|
233
264
|
- ".ruby-gemset"
|
|
234
265
|
- ".ruby-version"
|
|
235
|
-
- ".travis.yml"
|
|
236
266
|
- CODE_OF_CONDUCT.md
|
|
237
267
|
- Gemfile
|
|
238
268
|
- Gemfile.lock
|
|
@@ -256,7 +286,7 @@ metadata:
|
|
|
256
286
|
homepage_uri: https://github.com/jdlubrano/stream_lines
|
|
257
287
|
source_code_uri: https://github.com/jdlubrano/stream_lines
|
|
258
288
|
changelog_uri: https://github.com/jdlubrano/stream_lines/releases
|
|
259
|
-
post_install_message:
|
|
289
|
+
post_install_message:
|
|
260
290
|
rdoc_options: []
|
|
261
291
|
require_paths:
|
|
262
292
|
- lib
|
|
@@ -271,8 +301,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
271
301
|
- !ruby/object:Gem::Version
|
|
272
302
|
version: '0'
|
|
273
303
|
requirements: []
|
|
274
|
-
rubygems_version: 3.
|
|
275
|
-
signing_key:
|
|
304
|
+
rubygems_version: 3.3.7
|
|
305
|
+
signing_key:
|
|
276
306
|
specification_version: 4
|
|
277
307
|
summary: A utility to stream lines of a file over HTTP
|
|
278
308
|
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
language: ruby
|
|
3
|
-
cache: bundler
|
|
4
|
-
rvm:
|
|
5
|
-
- 2.7.0
|
|
6
|
-
- 2.6.0
|
|
7
|
-
- 2.5.0
|
|
8
|
-
before_install: gem install bundler -v 2.0.2
|
|
9
|
-
script:
|
|
10
|
-
- bundle exec bundle-audit check --update
|
|
11
|
-
- bundle exec rubocop
|
|
12
|
-
- bundle exec rspec
|
|
13
|
-
branches:
|
|
14
|
-
only:
|
|
15
|
-
- master
|