Sha256: bcab27612c97bcdaf97a79e74f393edaacfe7b0cb79616a3fb709cf8ba49471f

Contents?: true

Size: 959 Bytes

Versions: 4

Compression:

Stored size: 959 Bytes

Contents

module Evergreen
  class Suite
    attr_reader :root, :runner, :server, :driver, :application

    def initialize(root)
      @root = root

      paths = [
        File.expand_path("config/evergreen.rb", root),
        File.expand_path(".evergreen", root),
        "#{ENV["HOME"]}/.evergreen"
      ]
      paths.each { |path| load(path) if File.exist?(path) }

      @runner = Runner.new(self)
      @server = Server.new(self)
      @application = Evergreen.application(self)
    end

    def run
      runner.run
    end

    def serve
      server.serve
    end

    def get_spec(name)
      Spec.new(self, name)
    end

    def specs
      Dir.glob(File.join(root, Evergreen.spec_dir, '*_spec.{js,coffee}')).map do |path|
        Spec.new(self, File.basename(path))
      end
    end

    def templates
      Dir.glob(File.join(root, Evergreen.template_dir, '*')).map do |path|
        Template.new(self, File.basename(path))
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 3 rubygems

Version Path
danieldkim-evergreen-0.4.0.6 lib/evergreen/suite.rb
danieldkim-evergreen-0.4.0.5 lib/evergreen/suite.rb
gjastrab-evergreen-0.4.0.3 lib/evergreen/suite.rb
evergreen-0.4.0 lib/evergreen/suite.rb