class ElirJsonFormatter

Attributes

output_hash[R]

Public Class Methods

new(output) click to toggle source
Calls superclass method
# File lib/elir_json_formatter.rb, line 9
def initialize(output)
  super
  @output_hash = {}
  @env_final = {}    
end

Public Instance Methods

example_failed(failure) click to toggle source
# File lib/elir_json_formatter.rb, line 23
def example_failed(failure)
  process_example(failure.example)
end
example_passed(passed) click to toggle source
# File lib/elir_json_formatter.rb, line 15
def example_passed(passed)
  process_example(passed.example)
end
example_pending(pending) click to toggle source
# File lib/elir_json_formatter.rb, line 19
def example_pending(pending)
  process_example(pending.example)
end

Private Instance Methods

format_envs(envs) click to toggle source
# File lib/elir_json_formatter.rb, line 50
def format_envs(envs)
  return unless ENV['labels']
  envs.to_s.split(/\W+/).each do |k,v|
    @env_final[k.downcase.to_sym] = ENV[k]
  end
  @env_final  
end
format_example(example) click to toggle source
# File lib/elir_json_formatter.rb, line 36
def format_example(example)
  {
    id: example.id,
    description: example.description,
    full_description: example.full_description,
    status: example.execution_result.status.to_s,
    file_path: example.metadata[:file_path],
    line_number: example.metadata[:line_number],
    run_time: example.execution_result.run_time,
    pending_message: example.execution_result.pending_message,
    env: format_envs(ENV['labels'])
  }
end
process_example(example) click to toggle source
# File lib/elir_json_formatter.rb, line 29
def process_example(example)
  @output_hash = format_example(example)
  output.write @output_hash.to_json
  @output_hash = {}
  @env_final   = {}
end