Sha256: a268a3e8de31ec7d63ebf15e24aa73990a5e220a13a07206ba363d381de5b1cf

Contents?: true

Size: 947 Bytes

Versions: 2

Compression:

Stored size: 947 Bytes

Contents

require 'xcpretty/version'
require 'xcpretty/printer'
require 'xcpretty/syntax'
require 'xcpretty/snippet'
require 'xcpretty/formatters/formatter'
require 'xcpretty/formatters/simple'
require 'xcpretty/formatters/rspec'
require 'xcpretty/formatters/knock'
require 'xcpretty/formatters/tap'
require 'xcpretty/reporters/junit'
require 'xcpretty/reporters/html'
require 'xcpretty/reporters/learn'
require 'xcpretty/reporters/json_compilation_database'

module XCPretty

  def self.class_from_path(path)
    source = File.read(path)
    klass = eval(source, nil, path)
    raise unless klass.is_a?(Class)
    klass
  end

  def self.load_custom_formatter(path)
    begin
      $:.unshift File.dirname(path)
      class_from_path(path)
    rescue SyntaxError => e
      exit_with_error("Expected formatter source file to return a class. #{e}")
    end
  end

  def self.exit_with_error(message)
    $stderr.puts "[!] #{message}"
    exit 1
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
learn-xcpretty-0.1.12 lib/xcpretty.rb
learn-xcpretty-0.1.11 lib/xcpretty.rb