Class: GroongaQueryLog::CommandVersionCompatibilityChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/groonga-query-log/command-version-compatibility-checker.rb

Defined Under Namespace

Classes: Options

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ CommandVersionCompatibilityChecker

Returns a new instance of CommandVersionCompatibilityChecker.



21
22
23
24
25
26
# File 'lib/groonga-query-log/command-version-compatibility-checker.rb', line 21

def initialize(options)
  @options = options
  @incompatibility_detector = @options.create_incompatibility_detector
  @output = $stdout
  @nth_item = 1
end

Instance Method Details

#check(input) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/groonga-query-log/command-version-compatibility-checker.rb', line 40

def check(input)
  compatible = true
  parser = Parser.new
  parser.parse(input) do |statistic|
    incompatibles = @incompatibility_detector.detect(statistic)
    next if incompatibles.empty?
    compatible = false
    incompatibles.each do |incompatible|
      report_incompatible(statistic, incompatible)
    end
  end
  compatible
end

#startObject



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/groonga-query-log/command-version-compatibility-checker.rb', line 28

def start
  original_output = @output
  result = nil
  @options.create_output do |output|
    @output = output
    result = yield
  end
  result
ensure
  @output = original_output
end