Class: Kor::Output::Json
- Inherits:
-
Object
- Object
- Kor::Output::Json
- Defined in:
- lib/kor/output/json.rb,
lib/kor/output/json/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Method Summary collapse
- #finish ⇒ Object
- #head(keys) ⇒ Object
-
#initialize(io) ⇒ Json
constructor
A new instance of Json.
- #io ⇒ Object
- #parse(opt) ⇒ Object
- #puts(values) ⇒ Object
Constructor Details
#initialize(io) ⇒ Json
Returns a new instance of Json.
14 15 16 17 18 19 20 |
# File 'lib/kor/output/json.rb', line 14 def initialize(io) @io = io @single = false @keys = [] @values = [] @count = 0 end |
Instance Method Details
#finish ⇒ Object
50 51 52 53 54 |
# File 'lib/kor/output/json.rb', line 50 def finish if @single io.puts "]" end end |
#head(keys) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/kor/output/json.rb', line 32 def head(keys) @keys = keys @values = [] if @single io.print '[' end end |
#io ⇒ Object
22 23 24 |
# File 'lib/kor/output/json.rb', line 22 def io @io end |
#parse(opt) ⇒ Object
26 27 28 29 30 |
# File 'lib/kor/output/json.rb', line 26 def parse(opt) opt.on("--single", "All output join one JSON") do |arg| @single = arg end end |
#puts(values) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/kor/output/json.rb', line 40 def puts(values) if @single comma = @count == 0 ? "" : "," @count += 1 io.print "#{comma}#{@keys.zip(values).to_h.to_json}" else io.puts @keys.zip(values).to_h.to_json end end |