ltsview 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1411fb9fe19571d4be18dada7ce16874ac14f54f
4
- data.tar.gz: 6fb51f73115db437928ddc6a39e14ed0aa68fc32
3
+ metadata.gz: 26f2c6952fbf7437d766d27807410ccfa7ce1e92
4
+ data.tar.gz: e0b2354decd27f2a6fc59f156ce82bdb7c36b89a
5
5
  SHA512:
6
- metadata.gz: 5f16fc5a3171334626af61fc206ac24c421fae612efbab5d8a6cfaa327d76466fba5b20c36e64fcfb28a95e3df56e5249eaaa17415da14073d82200d66e953a8
7
- data.tar.gz: 63dad955eb93ca98a68c55d7d01215643e44487aee6fce4cdf41a8d010ff0726f9015032c952844f0198aa050fb00849397a0513393437224c4b73c0022afafd
6
+ metadata.gz: a11948b6213430c8a6ea4aa86606f8bca5613006c977cd17c614483239931056247ad104d1e4b9833aeb09d54661b74467179bd1df468a2836c6a8248c9e8ede
7
+ data.tar.gz: c9b90d58b2818b659a77d5238b8dcb1804ac860fe2ffce55dec553a078f55559b13ab7b182825e5302e867550be754250c7f2ee42093c4bb62553ff31dbe1476
data/README.md CHANGED
@@ -36,6 +36,10 @@ Or install it yourself as:
36
36
 
37
37
  $ cat logfile.ltsv | ltsview -k firstkey,therdkey
38
38
 
39
+ key select and reorder
40
+
41
+ $ cat logfile.ltsv | ltsview -k firstkey,therdkey --reorder
42
+
39
43
  ignore key select
40
44
 
41
45
  $ cat logfile.ltsv | ltsview -i firstkey,secondkey
@@ -69,6 +73,7 @@ Or install it yourself as:
69
73
  * `-j`, `--json` to render json format
70
74
  * `-t`, `--tag` to append tag
71
75
  * `-l`, `--ltsv` to raw format
76
+ * `-o`, `--reorder` to reorder keys with `--keys` option
72
77
  * `--no-colors` to no color
73
78
 
74
79
  ## Contributing
@@ -8,7 +8,8 @@ module Ltsview
8
8
  :file => nil,
9
9
  :keys => nil,
10
10
  :ignore_key => nil,
11
- :regex => nil
11
+ :regex => nil,
12
+ :reorder => false
12
13
  }
13
14
  option_parse options
14
15
  end
@@ -16,7 +17,7 @@ module Ltsview
16
17
  def print
17
18
  file_or_stdin do |ltsv|
18
19
  next if ltsv.nil?
19
- line = formatter(filter(ltsv))
20
+ line = formatter(reorder(filter(ltsv)))
20
21
  puts "#{tag}#{line}" unless line.nil?
21
22
  $stdout.flush
22
23
  end
@@ -36,6 +37,7 @@ module Ltsview
36
37
  option.on('-l', '--ltsv') { |v| @options[:mode] = :ltsv }
37
38
  option.on('-t', '--tag VAL'){ |v| @options[:tag] = v }
38
39
  option.on('--[no-]colors'){ |v| @options[:color] = v }
40
+ option.on('-o', '--[no-]reorder') { |v| @options[:reorder] = v }
39
41
  option.on('-v','--version'){ |v|
40
42
  puts "LTSView version: #{Ltsview::VERSION}"
41
43
  exit
@@ -74,6 +76,18 @@ module Ltsview
74
76
  "@[#{@options[:tag]}] " if @options[:tag]
75
77
  end
76
78
 
79
+ def reorder(ltsv)
80
+ if @options[:reorder] && !@options[:keys].nil?
81
+ @options[:keys].inject({}) do |hash, key|
82
+ key_sym = key.to_sym
83
+ hash[key_sym] = ltsv[key_sym]
84
+ hash
85
+ end
86
+ else
87
+ ltsv
88
+ end
89
+ end
90
+
77
91
  def filter(ltsv)
78
92
  matcher(ltsv).delete_if do |key, val|
79
93
  !keys?(key) || ignore?(key)
@@ -1,3 +1,3 @@
1
1
  module Ltsview
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -117,5 +117,27 @@ describe Ltsview::Parse do
117
117
 
118
118
  end
119
119
 
120
+ describe 'when reorder mode on' do
121
+ it 'should reorder key-value pairs with --keys option' do
122
+ parse = Ltsview::Parse.new(['--reorder', '--keys', 'foo,hoge'])
123
+ capture(:stdout){
124
+ $stdin = StringIO.new
125
+ $stdin << "hoge:fuga hago\tfoo:barbaz\n"
126
+ $stdin.rewind
127
+ parse.print
128
+ }.should eq(color("---\n:foo: barbaz\n:hoge: fuga hago\n"))
129
+ end
130
+
131
+ it 'should not reorder key-value pairs without --keys option' do
132
+ parse = Ltsview::Parse.new(['--reorder'])
133
+ capture(:stdout){
134
+ $stdin = StringIO.new
135
+ $stdin << "hoge:fuga hago\tfoo:barbaz\n"
136
+ $stdin.rewind
137
+ parse.print
138
+ }.should eq(color("---\n:hoge: fuga hago\n:foo: barbaz\n"))
139
+ end
140
+
141
+ end
120
142
  end
121
143
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ltsview
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naoto SHINGAKI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-08 00:00:00.000000000 Z
11
+ date: 2014-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ltsv