fix_protocol_tools 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,5 +6,4 @@ $LOAD_PATH.unshift(path) unless $LOAD_PATH.include? path
6
6
  require 'optparse'
7
7
  require 'fix_protocol_tools'
8
8
 
9
- raise "To be implemented"
10
- #FixProtocolTools::Runner.new.grep!
9
+ FixProtocolTools::Runner.new.grep!
@@ -51,22 +51,28 @@ module FixProtocolTools
51
51
  return unless fields
52
52
 
53
53
  @spec ||= resolve_specification(fields)
54
- @output.puts(yellow(' =-=-=-=-=-=-==-=-=-=-=-=-==-=-=-=-=-=-= '))
54
+ rows = []
55
+ rows << yellow(' =-=-=-=-=-=-==-=-=-=-=-=-==-=-=-=-=-=-= ')
56
+ is_found = @grep.nil?
55
57
 
56
58
  fields.each do |field_id, value_id|
57
59
  field_name = @spec.field_name(field_id) || field_id
58
60
  field_name_padding = @spec.max_field_length - field_name.length - 2
61
+ value_name = if @spec.message_type?(field_id)
62
+ red(@spec.message_type(value_id))
63
+ else
64
+ @spec.enum_value(field_id, value_id)
65
+ end
66
+
67
+ if @grep && (value_name.include?(@grep) || value_id.include?(@grep))
68
+ value_name = red(value_name)
69
+ is_found = true
70
+ end
59
71
 
60
- print_line(format_line(field_id, field_name, field_name_padding, value_id))
72
+ rows << formatted_row(field_id, value_id, field_name, value_name, field_name_padding)
61
73
  end
62
- end
63
74
 
64
- def format_line(field_id, field_name, padding, value_id)
65
- if @spec.message_type?(field_id)
66
- formatted_row(field_id, value_id, field_name, red(@spec.message_type(value_id)), padding)
67
- else
68
- formatted_row(field_id, value_id, field_name, @spec.enum_value(field_id, value_id), padding)
69
- end
75
+ rows.each { |row| @output.puts row } if is_found
70
76
  end
71
77
 
72
78
  def formatted_row(field_id, value_id, field_name, value_name, field_name_padding)
@@ -1,22 +1,24 @@
1
1
  require 'term/ansicolor'
2
2
  require 'fix_protocol_tools/messages_processor'
3
3
 
4
- Term::ANSIColor::coloring = STDOUT.isatty
5
4
 
6
5
  module FixProtocolTools
7
6
  class Runner
7
+ @coloring = Term::ANSIColor::coloring = STDOUT.isatty
8
+
8
9
 
9
10
  def less!
10
- options = {:less => false, :color => false}
11
+ options = {:less => false, :color => @coloring}
11
12
  opt_parse = OptionParser.new do |opts|
12
13
  opts.banner = "Usage: fixless [options] [fixlogfile]"
13
14
 
14
- color(options, opts)
15
- help(opts)
16
-
17
15
  opts.on('-l', '--[no-]less', 'Use less command for output') do |color|
18
16
  options[:less] = color
19
17
  end
18
+
19
+ color(options, opts)
20
+ help(opts)
21
+ dictionary(options, opts)
20
22
  end
21
23
 
22
24
  opt_parse.parse!
@@ -25,11 +27,16 @@ module FixProtocolTools
25
27
  end
26
28
 
27
29
  def grep!
28
- options = {:color => false}
30
+ options = {:color => @coloring}
29
31
  opt_parse = OptionParser.new do |opts|
30
- opts.banner = "Usage: fixgrep [options] [fixlogfile]"
32
+ opts.banner = "Usage: fixgrep -v value [options] [fixlogfile]"
33
+
34
+ opts.on('-v', '--v value') do |pattern|
35
+ options[:grep] = pattern
36
+ end
31
37
 
32
- color(opts, options)
38
+ dictionary(options, opts)
39
+ color(options, opts)
33
40
  help(opts)
34
41
  end
35
42
 
@@ -52,5 +59,11 @@ module FixProtocolTools
52
59
  options[:color] = color
53
60
  end
54
61
  end
62
+
63
+ def dictionary(options, opts)
64
+ #opts.on('-d', '--dictionary PATH_TO_DICTIONARY') do |dictionary|
65
+ # options[:dictionary] = dictionary
66
+ #end
67
+ end
55
68
  end
56
69
  end
@@ -1,3 +1,3 @@
1
1
  module FixProtocolTools
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fix_protocol_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-25 00:00:00.000000000 Z
12
+ date: 2013-05-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: term-ansicolor
@@ -81,7 +81,7 @@ files:
81
81
  - lib/fix_protocol_tools/specification/xml/FIX43.xml
82
82
  - lib/fix_protocol_tools/specification/xml/FIX44.xml
83
83
  - lib/fix_protocol_tools/version.rb
84
- homepage: ''
84
+ homepage: https://github.com/Luxor/fix-protocol-tools
85
85
  licenses:
86
86
  - MIT
87
87
  post_install_message: