Sha256: aa7adb5a8c0ad2c83767fab3ea989f41fb2e64dc0b21917087a2129baab7ad62

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

require 'polytrix/version'
require 'polytrix/manifest'
require 'polytrix/core/implementor'
require 'polytrix/core/result_tracker'
require 'polytrix/core/file_finder'
require 'polytrix/challenge_runner'
require 'polytrix/challenge'
require 'polytrix/challenge_builder'
require 'polytrix/configuration'
require 'polytrix/result'
require 'polytrix/documentation_generator'

require 'polytrix/rspec'

module Polytrix
  class << self
    attr_accessor :implementors
    attr_accessor :manifest
    attr_accessor :default_validator_callback

    def default_validator_callback
      @default_validator_callback ||= proc{ |challenge|
        expect(challenge[:result].process.exitstatus).to eq(0)
      }
    end

    def default_validator_callback=(callback)
      @default_validator_callback = callback
    end

    def configuration
      fail "configuration doesn't take a block, use configure" if block_given?
      @configuration ||= Configuration.new
    end

    def configure
      yield(configuration)
    end

    def sdk_dir(sdk)
      "sdks/#{sdk}"
    end

    def load_manifest(yaml_file)
      @manifest = Polytrix::Manifest.from_yaml yaml_file
    end

    def results
      Polytrix::ResultTracker.instance
    end

    def run_tests
      Polytrix::RSpec.run_manifest(@manifest)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
polytrix-0.0.1 lib/polytrix.rb