Module: TWPipeline::Jsonl

Defined in:
lib/twpipeline/jsonl.rb,
sig/twpipeline.rbs

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.dump(record) ⇒ Object



15
# File 'lib/twpipeline/jsonl.rb', line 15

def dump(record) = JSON.generate(record)

.each(io) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/twpipeline/jsonl.rb', line 17

def each(io)
  return to_enum(:each, io) unless block_given?

  io.each_line do |line|
    stripped = line.strip
    yield parse(stripped) unless stripped.empty?
  end
end

.parse(line) ⇒ Object



9
10
11
12
13
# File 'lib/twpipeline/jsonl.rb', line 9

def parse(line)
  JSON.parse(line, symbolize_names: true)
rescue JSON::ParserError => error
  raise Error, "malformed JSONL: #{error.message}"
end

.wrap(text, source: "stdin", index: 0) ⇒ Object



26
27
28
# File 'lib/twpipeline/jsonl.rb', line 26

def wrap(text, source: "stdin", index: 0)
  {id: "#{source}:#{index}", source: source, text: text, ok: true, findings: []}
end

Instance Method Details

#self?.dump::String

Parameters:

  • (record)

Returns:

  • (::String)


51
# File 'sig/twpipeline.rbs', line 51

def self?.dump: (record) -> ::String

#self?void #self?::Enumerator[record, void]

Overloads:

  • #self?void

    This method returns an undefined value.

    Parameters:

    • io (Object)
  • #self?::Enumerator[record, void]

    Parameters:

    • io (Object)

    Returns:

    • (::Enumerator[record, void])

Yields:

Yield Parameters:

  • arg0 (record)

Yield Returns:

  • (void)


52
53
# File 'sig/twpipeline.rbs', line 52

def self?.each: (untyped io) { (record) -> void } -> void
| (untyped io) -> ::Enumerator[record, void]

#self?.parserecord

Parameters:

  • line (::String)

Returns:

  • (record)


50
# File 'sig/twpipeline.rbs', line 50

def self?.parse: (::String line) -> record

#self?.wraprecord

Parameters:

  • text (::String)
  • source: (::String)
  • index: (::Integer)

Returns:

  • (record)


54
# File 'sig/twpipeline.rbs', line 54

def self?.wrap: (::String text, ?source: ::String, ?index: ::Integer) -> record