Class: JGrouper::ExportFileReader
- Inherits:
-
Object
- Object
- JGrouper::ExportFileReader
- Includes:
- Enumerable
- Defined in:
- lib/jgrouper/export_file_reader.rb
Overview
JGrouper::ExportFileReader - Read output file from JGrouper::Exporter
USAGE
require 'jgrouper'
require 'jgrouper/export_file_reader'
JGrouper::ExportFileReader.new(file_name) do |reader|
reader.next { |json| ... }
end
Instance Method Summary collapse
- #<<(entry) ⇒ Object
- #[](entry) ⇒ Object
- #delete(entry) ⇒ Object
- #done? ⇒ Boolean
- #each(&block) ⇒ Object
- #include?(entry) ⇒ Boolean
-
#initialize(fn) {|_self| ... } ⇒ ExportFileReader
constructor
A new instance of ExportFileReader.
- #next {|JSON.parse( @fh.gets )| ... } ⇒ Object
Constructor Details
#initialize(fn) {|_self| ... } ⇒ ExportFileReader
Returns a new instance of ExportFileReader.
19 20 21 22 23 24 25 26 27 |
# File 'lib/jgrouper/export_file_reader.rb', line 19 def initialize(fn) @done = false @entries = {} @fn = fn @fh = File.open @fn, 'r' yield self @fh.close end |
Instance Method Details
#<<(entry) ⇒ Object
29 30 31 |
# File 'lib/jgrouper/export_file_reader.rb', line 29 def <<(entry) @entries[ entry ] = entry end |
#[](entry) ⇒ Object
33 34 35 |
# File 'lib/jgrouper/export_file_reader.rb', line 33 def [](entry) @entries[entry] end |
#delete(entry) ⇒ Object
37 38 39 |
# File 'lib/jgrouper/export_file_reader.rb', line 37 def delete(entry) @entries.delete(entry) end |
#done? ⇒ Boolean
41 42 43 |
# File 'lib/jgrouper/export_file_reader.rb', line 41 def done? @done end |
#each(&block) ⇒ Object
45 46 47 |
# File 'lib/jgrouper/export_file_reader.rb', line 45 def each(&block) @entries.values.each(&block) end |
#include?(entry) ⇒ Boolean
49 50 51 |
# File 'lib/jgrouper/export_file_reader.rb', line 49 def include?(entry) @entries.include?(entry) end |
#next {|JSON.parse( @fh.gets )| ... } ⇒ Object
53 54 55 56 57 58 59 60 |
# File 'lib/jgrouper/export_file_reader.rb', line 53 def next return if done? if @fh.eof? @done = true return end yield JSON.parse( @fh.gets ) end |