Class: Hasta::InMemoryDataSink

Inherits:
Object
  • Object
show all
Defined in:
lib/hasta/in_memory_data_sink.rb

Overview

Data sink for writing data in-memory

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil) ⇒ InMemoryDataSink

Returns a new instance of InMemoryDataSink.



10
11
12
# File 'lib/hasta/in_memory_data_sink.rb', line 10

def initialize(name=nil)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



8
9
10
# File 'lib/hasta/in_memory_data_sink.rb', line 8

def name
  @name
end

Instance Method Details

#<<(line) ⇒ Object



14
15
16
# File 'lib/hasta/in_memory_data_sink.rb', line 14

def <<(line)
  lines << Hasta.tab_separated_line(line)
end

#closeObject



22
23
24
# File 'lib/hasta/in_memory_data_sink.rb', line 22

def close
  self
end

#data_sourceObject



18
19
20
# File 'lib/hasta/in_memory_data_sink.rb', line 18

def data_source
  InMemoryDataSource.new(lines, name)
end

#to_sObject



26
27
28
29
30
31
32
# File 'lib/hasta/in_memory_data_sink.rb', line 26

def to_s
  if name
    "#<#{self.class.name}:#{name} (#{lines.count} lines)>"
  else
    super
  end
end