Sha256: e613b79ecae06dae4dbb02f2c30840fb4b083d89fa54a377901059ffb22db0e7

Contents?: true

Size: 912 Bytes

Versions: 7

Compression:

Stored size: 912 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/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

7 entries across 7 versions & 1 rubygems

Version Path
xcpretty-0.1.12 lib/xcpretty.rb
xcpretty-0.1.11 lib/xcpretty.rb
xcpretty-0.1.10 lib/xcpretty.rb
xcpretty-0.1.9 lib/xcpretty.rb
xcpretty-0.1.8 lib/xcpretty.rb
xcpretty-0.1.7 lib/xcpretty.rb
xcpretty-0.1.6 lib/xcpretty.rb