class FlatKit::Jsonl::Record
Attributes
compare_data[R]
Public Class Methods
format_name()
click to toggle source
# File lib/flat_kit/jsonl/record.rb, line 9 def self.format_name ::FlatKit::Jsonl::Format.format_name end
from_record(record)
click to toggle source
# File lib/flat_kit/jsonl/record.rb, line 13 def self.from_record(record) if record.instance_of?(FlatKit::Jsonl::Record) then structured = record.complete_structured_data? ? record.complete_structured_data : nil new(data: record.data, compare_fields: record.compare_fields, compare_data: record.compare_data, complete_structured_data: structured) else new(data: nil, compare_fields: record.compare_fields, complete_structured_data: record.to_hash) end end
new(data:, compare_fields: :none, compare_data: Hash.new, complete_structured_data: nil)
click to toggle source
Calls superclass method
FlatKit::Record::new
# File lib/flat_kit/jsonl/record.rb, line 27 def initialize(data:, compare_fields: :none, compare_data: Hash.new, complete_structured_data: nil) super(data: data, compare_fields: compare_fields) @complete_structured_data = complete_structured_data if complete_structured_data? && (compare_data.nil? || compare_data.empty?) then @compare_data = complete_structured_data else @compare_data = compare_data end # only load compare data if it dosn't exist if data && compare_data.empty? then quick_parse end end
Public Instance Methods
[](key)
click to toggle source
# File lib/flat_kit/jsonl/record.rb, line 46 def [](key) compare_data[key] end
complete_structured_data()
click to toggle source
# File lib/flat_kit/jsonl/record.rb, line 50 def complete_structured_data @complete_structured_data ||= Oj.load(data, mode: :strict) end
Also aliased as: to_hash
complete_structured_data?()
click to toggle source
# File lib/flat_kit/jsonl/record.rb, line 55 def complete_structured_data? !(@complete_structured_data.nil? || @complete_structured_data.empty?) end
data()
click to toggle source
overriding parent accessor since we may be initialized without raw bytes to parse
# File lib/flat_kit/jsonl/record.rb, line 61 def data if @data.nil? && complete_structured_data? then @data = Oj.dump(complete_structured_data, mode: :json) end @data end
Also aliased as: to_s
Private Instance Methods
quick_parse()
click to toggle source
# File lib/flat_kit/jsonl/record.rb, line 71 def quick_parse Oj::Doc.open(data) do |doc| compare_fields.each do |field| val = doc.fetch("/#{field}") @compare_data[field] = val end end end